diff --git a/crates/router/src/core/payments.rs b/crates/router/src/core/payments.rs index e0950a7289..e4fd17fcbe 100644 --- a/crates/router/src/core/payments.rs +++ b/crates/router/src/core/payments.rs @@ -21,7 +21,7 @@ use api_models::{ use common_utils::{ext_traits::AsyncExt, pii, types::Surcharge}; use data_models::mandates::{CustomerAcceptance, MandateData}; use diesel_models::{ephemeral_key, fraud_check::FraudCheck}; -use error_stack::ResultExt; +use error_stack::{report, ResultExt}; use futures::future::join_all; use helpers::ApplePayData; use masking::Secret; @@ -3101,6 +3101,17 @@ pub async fn decide_multiplex_connector_for_normal_or_recurring_payment(v).ok()) + .and_then(|v| { + serde_json::from_value::(v) + .map_err(|err| { + logger::error!( + "Unable to deserialize payment methods data: {:?}", + err + ) + }) + .ok() + }) .and_then(|pmd| match pmd { PaymentMethodsData::Card(crd) => Some(api::CardDetailFromLocker::from(crd)), _ => None,