From 8a8767e9cb32ea5dba1a572ec4c66714d6dc7558 Mon Sep 17 00:00:00 2001 From: Nishant Joshi Date: Fri, 17 Feb 2023 12:24:30 +0530 Subject: [PATCH] fix: allow errors with status code 200 to pass (#601) --- .../payments/operations/payment_response.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/crates/router/src/core/payments/operations/payment_response.rs b/crates/router/src/core/payments/operations/payment_response.rs index abbc361fa7..33c0d4fe69 100644 --- a/crates/router/src/core/payments/operations/payment_response.rs +++ b/crates/router/src/core/payments/operations/payment_response.rs @@ -1,4 +1,5 @@ use async_trait::async_trait; +use common_utils::fp_utils; use error_stack::ResultExt; use router_derive; @@ -60,13 +61,15 @@ impl PostUpdateTracker, types::PaymentsAuthorizeData ) .await?; - router_response.map_err(|error_response| { - errors::ApiErrorResponse::ExternalConnectorError { - message: error_response.message, - code: error_response.code, - status_code: error_response.status_code, - connector, - } + router_response.map(|_| ()).or_else(|error_response| { + fp_utils::when(!(200..300).contains(&error_response.status_code), || { + Err(errors::ApiErrorResponse::ExternalConnectorError { + code: error_response.code, + message: error_response.message, + connector, + status_code: error_response.status_code, + }) + }) })?; Ok(payment_data)