diff --git a/crates/router/src/core/payment_methods/cards.rs b/crates/router/src/core/payment_methods/cards.rs index cee4e9d1dd22..4d4c4f8ccdb2 100644 --- a/crates/router/src/core/payment_methods/cards.rs +++ b/crates/router/src/core/payment_methods/cards.rs @@ -3652,23 +3652,29 @@ pub async fn list_payment_methods( api_surcharge_decision_configs::MerchantSurchargeConfigs::default() }; - let collect_shipping_details_from_wallets = business_profile - .as_ref() - .and_then(|business_profile| { - business_profile.always_collect_shipping_details_from_wallet_connector - }) - .or(business_profile.as_ref().and_then(|business_profile| { - business_profile.collect_shipping_details_from_wallet_connector - })); + let collect_shipping_details_from_wallets = + business_profile.as_ref().and_then(|business_profile| { + if business_profile + .always_collect_shipping_details_from_wallet_connector + .unwrap_or(false) + { + business_profile.always_collect_shipping_details_from_wallet_connector + } else { + business_profile.collect_shipping_details_from_wallet_connector + } + }); - let collect_billing_details_from_wallets = business_profile - .as_ref() - .and_then(|business_profile| { - business_profile.always_collect_billing_details_from_wallet_connector - }) - .or(business_profile.as_ref().and_then(|business_profile| { - business_profile.collect_billing_details_from_wallet_connector - })); + let collect_billing_details_from_wallets = + business_profile.as_ref().and_then(|business_profile| { + if business_profile + .always_collect_billing_details_from_wallet_connector + .unwrap_or(false) + { + business_profile.always_collect_billing_details_from_wallet_connector + } else { + business_profile.collect_billing_details_from_wallet_connector + } + }); Ok(services::ApplicationResponse::Json( api::PaymentMethodListResponse {