diff --git a/crates/router/src/connector/cybersource.rs b/crates/router/src/connector/cybersource.rs index 138c2da42c..e51fffdf7c 100644 --- a/crates/router/src/connector/cybersource.rs +++ b/crates/router/src/connector/cybersource.rs @@ -104,6 +104,13 @@ impl ConnectorCommon for Cybersource { .map(|det| format!("{} : {}", det.field, det.reason)) .collect::>() .join(", "); + + let error_message = if res.status_code == 401 { + consts::CONNECTOR_UNAUTHORIZED_ERROR + } else { + consts::NO_ERROR_MESSAGE + }; + let (code, message) = match response.error_information { Some(ref error_info) => (error_info.reason.clone(), error_info.message.clone()), None => ( @@ -114,7 +121,7 @@ impl ConnectorCommon for Cybersource { }), response .message - .map_or(consts::NO_ERROR_MESSAGE.to_string(), |message| message), + .map_or(error_message.to_string(), |message| message), ), }; Ok(types::ErrorResponse { diff --git a/crates/router/src/consts.rs b/crates/router/src/consts.rs index 08b6f891ec..aa74aa0a6b 100644 --- a/crates/router/src/consts.rs +++ b/crates/router/src/consts.rs @@ -18,6 +18,7 @@ pub const DEFAULT_FULFILLMENT_TIME: i64 = 15 * 60; // String literals pub(crate) const NO_ERROR_MESSAGE: &str = "No error message"; pub(crate) const NO_ERROR_CODE: &str = "No error code"; +pub(crate) const CONNECTOR_UNAUTHORIZED_ERROR: &str = "Authentication Error from the connector"; // General purpose base64 engines pub(crate) const BASE64_ENGINE: base64::engine::GeneralPurpose =