fix(router): get apple pay certificates only from metadata during the session call (#6514)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Shankar Singh C
2024-11-08 16:58:46 +05:30
committed by GitHub
parent fe4931a37e
commit 51b6cdfad7
2 changed files with 11 additions and 40 deletions

View File

@ -189,20 +189,11 @@ async fn create_applepay_session_token(
) )
} else { } else {
// Get the apple pay metadata // Get the apple pay metadata
let connector_apple_pay_wallet_details = let apple_pay_metadata =
helpers::get_applepay_metadata(router_data.connector_wallets_details.clone()) helpers::get_applepay_metadata(router_data.connector_meta_data.clone())
.map_err(|error| { .attach_printable(
logger::debug!( "Failed to to fetch apple pay certificates during session call",
"Apple pay connector wallets details parsing failed in create_applepay_session_token {:?}", )?;
error
)
})
.ok();
let apple_pay_metadata = match connector_apple_pay_wallet_details {
Some(apple_pay_wallet_details) => apple_pay_wallet_details,
None => helpers::get_applepay_metadata(router_data.connector_meta_data.clone())?,
};
// Get payment request data , apple pay session request and merchant keys // Get payment request data , apple pay session request and merchant keys
let ( let (

View File

@ -4788,32 +4788,17 @@ pub fn validate_customer_access(
pub fn is_apple_pay_simplified_flow( pub fn is_apple_pay_simplified_flow(
connector_metadata: Option<pii::SecretSerdeValue>, connector_metadata: Option<pii::SecretSerdeValue>,
connector_wallets_details: Option<pii::SecretSerdeValue>,
connector_name: Option<&String>, connector_name: Option<&String>,
) -> CustomResult<bool, errors::ApiErrorResponse> { ) -> CustomResult<bool, errors::ApiErrorResponse> {
let connector_apple_pay_wallet_details = let option_apple_pay_metadata = get_applepay_metadata(connector_metadata)
get_applepay_metadata(connector_wallets_details) .map_err(|error| {
.map_err(|error| { logger::info!(
logger::debug!( "Apple pay metadata parsing for {:?} in is_apple_pay_simplified_flow {:?}",
"Apple pay connector wallets details parsing failed for {:?} in is_apple_pay_simplified_flow {:?}",
connector_name,
error
)
})
.ok();
let option_apple_pay_metadata = match connector_apple_pay_wallet_details {
Some(apple_pay_wallet_details) => Some(apple_pay_wallet_details),
None => get_applepay_metadata(connector_metadata)
.map_err(|error| {
logger::debug!(
"Apple pay metadata parsing failed for {:?} in is_apple_pay_simplified_flow {:?}",
connector_name, connector_name,
error error
) )
}) })
.ok(), .ok();
};
// return true only if the apple flow type is simplified // return true only if the apple flow type is simplified
Ok(matches!( Ok(matches!(
@ -4999,7 +4984,6 @@ where
let connector_data_list = if is_apple_pay_simplified_flow( let connector_data_list = if is_apple_pay_simplified_flow(
merchant_connector_account_type.get_metadata(), merchant_connector_account_type.get_metadata(),
merchant_connector_account_type.get_connector_wallets_details(),
merchant_connector_account_type merchant_connector_account_type
.get_connector_name() .get_connector_name()
.as_ref(), .as_ref(),
@ -5027,10 +5011,6 @@ where
for merchant_connector_account in profile_specific_merchant_connector_account_list { for merchant_connector_account in profile_specific_merchant_connector_account_list {
if is_apple_pay_simplified_flow( if is_apple_pay_simplified_flow(
merchant_connector_account.metadata.clone(), merchant_connector_account.metadata.clone(),
merchant_connector_account
.connector_wallets_details
.as_deref()
.cloned(),
Some(&merchant_connector_account.connector_name), Some(&merchant_connector_account.connector_name),
)? { )? {
let connector_data = api::ConnectorData::get_connector_by_name( let connector_data = api::ConnectorData::get_connector_by_name(