feat(payouts): [Nuvei] add payout flows (#9618)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Sakil Mostak
2025-09-30 21:51:00 +05:30
committed by GitHub
parent 172af8c23c
commit 3b5302c736
20 changed files with 574 additions and 41 deletions

View File

@ -1474,8 +1474,8 @@ pub async fn check_payout_eligibility(
let updated_payout_attempt = storage::PayoutAttemptUpdate::StatusUpdate {
connector_payout_id: payout_response_data.connector_payout_id,
status,
error_code: None,
error_message: None,
error_code: payout_response_data.error_code,
error_message: payout_response_data.error_message,
is_eligible: payout_response_data.payout_eligible,
unified_code: None,
unified_message: None,
@ -1689,8 +1689,8 @@ pub async fn create_payout(
let updated_payout_attempt = storage::PayoutAttemptUpdate::StatusUpdate {
connector_payout_id: payout_response_data.connector_payout_id,
status,
error_code: None,
error_message: None,
error_code: payout_response_data.error_code,
error_message: payout_response_data.error_message,
is_eligible: payout_response_data.payout_eligible,
unified_code: None,
unified_message: None,
@ -2076,8 +2076,8 @@ pub async fn create_recipient_disburse_account(
let updated_payout_attempt = storage::PayoutAttemptUpdate::StatusUpdate {
connector_payout_id: payout_response_data.connector_payout_id.clone(),
status,
error_code: None,
error_message: None,
error_code: payout_response_data.error_code,
error_message: payout_response_data.error_message,
is_eligible: payout_response_data.payout_eligible,
unified_code: None,
unified_message: None,
@ -2413,8 +2413,8 @@ pub async fn fulfill_payout(
let updated_payout_attempt = storage::PayoutAttemptUpdate::StatusUpdate {
connector_payout_id: payout_response_data.connector_payout_id,
status,
error_code: None,
error_message: None,
error_code: payout_response_data.error_code,
error_message: payout_response_data.error_message,
is_eligible: payout_response_data.payout_eligible,
unified_code: None,
unified_message: None,

View File

@ -140,6 +140,15 @@ pub async fn construct_payout_router_data<'a, F>(
_ => None,
};
let webhook_url = helpers::create_webhook_url(
&state.base_url,
&merchant_context.get_merchant_account().get_id().to_owned(),
merchant_connector_account
.get_mca_id()
.get_required_value("merchant_connector_id")?
.get_string_repr(),
);
let connector_transfer_method_id =
payout_helpers::should_create_connector_transfer_method(&*payout_data, connector_data)?;
@ -187,6 +196,7 @@ pub async fn construct_payout_router_data<'a, F>(
tax_registration_id: c.tax_registration_id.map(Encryptable::into_inner),
}),
connector_transfer_method_id,
webhook_url: Some(webhook_url),
},
response: Ok(types::PayoutsResponseData::default()),
access_token: None,