fix(payout): use mca_connector_id from ConnectorData to fetch mca_account (#5620)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Kashif
2024-08-14 20:02:52 +05:30
committed by GitHub
parent e4f4fbafe6
commit 92a07cf5e4
2 changed files with 15 additions and 14 deletions

View File

@ -1122,7 +1122,7 @@ pub async fn create_recipient(
// 1. Form router data // 1. Form router data
let router_data = core_utils::construct_payout_router_data( let router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
@ -1313,7 +1313,7 @@ pub async fn check_payout_eligibility(
// 1. Form Router data // 1. Form Router data
let router_data = core_utils::construct_payout_router_data( let router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
@ -1493,7 +1493,7 @@ pub async fn create_payout(
// 1. Form Router data // 1. Form Router data
let mut router_data = core_utils::construct_payout_router_data( let mut router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
@ -1685,7 +1685,7 @@ pub async fn create_payout_retrieve(
// 1. Form Router data // 1. Form Router data
let mut router_data = core_utils::construct_payout_router_data( let mut router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
@ -1827,7 +1827,7 @@ pub async fn create_recipient_disburse_account(
// 1. Form Router data // 1. Form Router data
let router_data = core_utils::construct_payout_router_data( let router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
@ -1912,7 +1912,7 @@ pub async fn cancel_payout(
// 1. Form Router data // 1. Form Router data
let router_data = core_utils::construct_payout_router_data( let router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
@ -2017,7 +2017,7 @@ pub async fn fulfill_payout(
// 1. Form Router data // 1. Form Router data
let mut router_data = core_utils::construct_payout_router_data( let mut router_data = core_utils::construct_payout_router_data(
state, state,
&connector_data.connector_name, connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,

View File

@ -30,7 +30,7 @@ use crate::{
db::StorageInterface, db::StorageInterface,
routes::SessionState, routes::SessionState,
types::{ types::{
self, domain, self, api, domain,
storage::{self, enums}, storage::{self, enums},
PollConfig, PollConfig,
}, },
@ -49,7 +49,7 @@ const IRRELEVANT_ATTEMPT_ID_IN_DISPUTE_FLOW: &str = "irrelevant_attempt_id_in_di
#[instrument(skip_all)] #[instrument(skip_all)]
pub async fn get_mca_for_payout<'a>( pub async fn get_mca_for_payout<'a>(
state: &'a SessionState, state: &'a SessionState,
connector_id: &str, connector_data: &api::ConnectorData,
merchant_account: &domain::MerchantAccount, merchant_account: &domain::MerchantAccount,
key_store: &domain::MerchantKeyStore, key_store: &domain::MerchantKeyStore,
payout_data: &PayoutData, payout_data: &PayoutData,
@ -63,8 +63,8 @@ pub async fn get_mca_for_payout<'a>(
None, None,
key_store, key_store,
&payout_data.profile_id, &payout_data.profile_id,
connector_id, &connector_data.connector_name.to_string(),
payout_data.payout_attempt.merchant_connector_id.as_ref(), connector_data.merchant_connector_id.as_ref(),
) )
.await?; .await?;
Ok(merchant_connector_account) Ok(merchant_connector_account)
@ -76,19 +76,20 @@ pub async fn get_mca_for_payout<'a>(
#[instrument(skip_all)] #[instrument(skip_all)]
pub async fn construct_payout_router_data<'a, F>( pub async fn construct_payout_router_data<'a, F>(
state: &'a SessionState, state: &'a SessionState,
connector_name: &api_models::enums::Connector, connector_data: &api::ConnectorData,
merchant_account: &domain::MerchantAccount, merchant_account: &domain::MerchantAccount,
key_store: &domain::MerchantKeyStore, key_store: &domain::MerchantKeyStore,
payout_data: &mut PayoutData, payout_data: &mut PayoutData,
) -> RouterResult<types::PayoutsRouterData<F>> { ) -> RouterResult<types::PayoutsRouterData<F>> {
let merchant_connector_account = get_mca_for_payout( let merchant_connector_account = get_mca_for_payout(
state, state,
&connector_name.to_string(), connector_data,
merchant_account, merchant_account,
key_store, key_store,
payout_data, payout_data,
) )
.await?; .await?;
let connector_name = connector_data.connector_name;
payout_data.merchant_connector_account = Some(merchant_connector_account.clone()); payout_data.merchant_connector_account = Some(merchant_connector_account.clone());
let connector_auth_type: types::ConnectorAuthType = merchant_connector_account let connector_auth_type: types::ConnectorAuthType = merchant_connector_account
.get_connector_account_details() .get_connector_account_details()
@ -770,7 +771,7 @@ pub async fn construct_upload_file_router_data<'a>(
payment_attempt: &storage::PaymentAttempt, payment_attempt: &storage::PaymentAttempt,
merchant_account: &domain::MerchantAccount, merchant_account: &domain::MerchantAccount,
key_store: &domain::MerchantKeyStore, key_store: &domain::MerchantKeyStore,
create_file_request: &types::api::CreateFileRequest, create_file_request: &api::CreateFileRequest,
connector_id: &str, connector_id: &str,
file_key: String, file_key: String,
) -> RouterResult<types::UploadFileRouterData> { ) -> RouterResult<types::UploadFileRouterData> {