Commit faee59ee authored by erio's avatar erio
Browse files

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.
parent 217b7ea6
......@@ -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,
})
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment