diff --git a/crates/router/src/core/errors/api_error_response.rs b/crates/router/src/core/errors/api_error_response.rs index 437cb1082c..9db2e394ac 100644 --- a/crates/router/src/core/errors/api_error_response.rs +++ b/crates/router/src/core/errors/api_error_response.rs @@ -135,8 +135,9 @@ pub enum ApiErrorResponse { MandateValidationFailed { reason: String }, #[error(error_type = ErrorType::ServerNotAvailable, code = "IR_00", message = "{message:?}")] NotImplemented { message: NotImplementedMessage }, - #[error(error_type = ErrorType::ConnectorError, code = "CE_00", message = "{message}", ignore = "status_code")] + #[error(error_type = ErrorType::ConnectorError, code = "CE_00", message = "{code}: {message}", ignore = "status_code")] ExternalConnectorError { + code: String, message: String, connector: String, status_code: u16, diff --git a/crates/router/src/core/payments/operations/payment_response.rs b/crates/router/src/core/payments/operations/payment_response.rs index cf9f33ccd6..0462eccf0b 100644 --- a/crates/router/src/core/payments/operations/payment_response.rs +++ b/crates/router/src/core/payments/operations/payment_response.rs @@ -278,7 +278,8 @@ async fn payment_response_update_tracker( router_data.response.map_err(|error_response| { errors::ApiErrorResponse::ExternalConnectorError { - message: format!("{}: {}", error_response.code, error_response.message), + message: error_response.message, + code: error_response.code, status_code: error_response.status_code, connector, }