fix(payment): propagate reason/metadata in API error responses
The API client's error interceptor was dropping the reason and metadata fields from backend error responses. This caused PaymentView to miss specific error codes (TOO_MANY_PENDING, CANCEL_RATE_LIMITED) and fall back to generic error messages.
This commit is contained in:
@@ -92,10 +92,13 @@ apiClient.interceptors.response.use(
|
||||
response.data = apiResponse.data
|
||||
} else {
|
||||
// API error
|
||||
const resp = apiResponse as Record<string, unknown>
|
||||
return Promise.reject({
|
||||
status: response.status,
|
||||
code: apiResponse.code,
|
||||
message: apiResponse.message || 'Unknown error'
|
||||
message: apiResponse.message || 'Unknown error',
|
||||
reason: resp.reason,
|
||||
metadata: resp.metadata,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -268,7 +271,9 @@ apiClient.interceptors.response.use(
|
||||
status,
|
||||
code: apiData.code,
|
||||
error: apiData.error,
|
||||
message: apiData.message || apiData.detail || error.message
|
||||
message: apiData.message || apiData.detail || error.message,
|
||||
reason: apiData.reason,
|
||||
metadata: apiData.metadata,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user