mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-27 19:46:48 +08:00
feat(connector): [Gigadat] Implement interac payouts (#9566)
This commit is contained in:
@ -79,6 +79,7 @@ pub struct PayoutData {
|
||||
pub current_locale: String,
|
||||
pub payment_method: Option<PaymentMethod>,
|
||||
pub connector_transfer_method_id: Option<String>,
|
||||
pub browser_info: Option<domain_models::router_request_types::BrowserInformation>,
|
||||
}
|
||||
|
||||
// ********************************************** CORE FLOWS **********************************************
|
||||
@ -533,12 +534,12 @@ pub async fn payouts_retrieve_core(
|
||||
)
|
||||
.await?;
|
||||
|
||||
complete_payout_retrieve(
|
||||
Box::pin(complete_payout_retrieve(
|
||||
&state,
|
||||
&merchant_context,
|
||||
connector_call_type,
|
||||
&mut payout_data,
|
||||
)
|
||||
))
|
||||
.await?;
|
||||
}
|
||||
|
||||
@ -2874,6 +2875,7 @@ pub async fn payout_create_db_entries(
|
||||
current_locale: locale.to_string(),
|
||||
payment_method,
|
||||
connector_transfer_method_id: None,
|
||||
browser_info: req.browser_info.clone().map(Into::into),
|
||||
})
|
||||
}
|
||||
|
||||
@ -2906,6 +2908,12 @@ pub async fn make_payout_data(
|
||||
payouts::PayoutRequest::PayoutRetrieveRequest(r) => r.payout_id.clone(),
|
||||
};
|
||||
|
||||
let browser_info = match req {
|
||||
payouts::PayoutRequest::PayoutActionRequest(_) => None,
|
||||
payouts::PayoutRequest::PayoutCreateRequest(r) => r.browser_info.clone().map(Into::into),
|
||||
payouts::PayoutRequest::PayoutRetrieveRequest(_) => None,
|
||||
};
|
||||
|
||||
let payouts = db
|
||||
.find_payout_by_merchant_id_payout_id(
|
||||
merchant_id,
|
||||
@ -3100,6 +3108,7 @@ pub async fn make_payout_data(
|
||||
current_locale: locale.to_string(),
|
||||
payment_method,
|
||||
connector_transfer_method_id: None,
|
||||
browser_info,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -152,6 +152,8 @@ pub async fn construct_payout_router_data<'a, F>(
|
||||
let connector_transfer_method_id =
|
||||
payout_helpers::should_create_connector_transfer_method(&*payout_data, connector_data)?;
|
||||
|
||||
let browser_info = payout_data.browser_info.to_owned();
|
||||
|
||||
let router_data = types::RouterData {
|
||||
flow: PhantomData,
|
||||
merchant_id: merchant_context.get_merchant_account().get_id().to_owned(),
|
||||
@ -197,6 +199,7 @@ pub async fn construct_payout_router_data<'a, F>(
|
||||
}),
|
||||
connector_transfer_method_id,
|
||||
webhook_url: Some(webhook_url),
|
||||
browser_info,
|
||||
},
|
||||
response: Ok(types::PayoutsResponseData::default()),
|
||||
access_token: None,
|
||||
|
||||
Reference in New Issue
Block a user