mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-02 04:04:43 +08:00
refactor(router): prioritise connector_mandate_id over network_transaction_id during MITs (#7081)
This commit is contained in:
@ -5799,26 +5799,7 @@ where
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.ok_or(errors::ApiErrorResponse::InternalServerError)
|
.ok_or(errors::ApiErrorResponse::InternalServerError)
|
||||||
.attach_printable("Failed to find the merchant connector id")?;
|
.attach_printable("Failed to find the merchant connector id")?;
|
||||||
if is_network_transaction_id_flow(
|
if connector_mandate_details
|
||||||
state,
|
|
||||||
is_connector_agnostic_mit_enabled,
|
|
||||||
connector_data.connector_name,
|
|
||||||
payment_method_info,
|
|
||||||
) {
|
|
||||||
logger::info!("using network_transaction_id for MIT flow");
|
|
||||||
let network_transaction_id = payment_method_info
|
|
||||||
.network_transaction_id
|
|
||||||
.as_ref()
|
|
||||||
.ok_or(errors::ApiErrorResponse::InternalServerError)
|
|
||||||
.attach_printable("Failed to fetch the network transaction id")?;
|
|
||||||
|
|
||||||
let mandate_reference_id = Some(payments_api::MandateReferenceId::NetworkMandateId(
|
|
||||||
network_transaction_id.to_string(),
|
|
||||||
));
|
|
||||||
|
|
||||||
connector_choice = Some((connector_data, mandate_reference_id.clone()));
|
|
||||||
break;
|
|
||||||
} else if connector_mandate_details
|
|
||||||
.clone()
|
.clone()
|
||||||
.map(|connector_mandate_details| {
|
.map(|connector_mandate_details| {
|
||||||
connector_mandate_details.contains_key(merchant_connector_id)
|
connector_mandate_details.contains_key(merchant_connector_id)
|
||||||
@ -5868,6 +5849,25 @@ where
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if is_network_transaction_id_flow(
|
||||||
|
state,
|
||||||
|
is_connector_agnostic_mit_enabled,
|
||||||
|
connector_data.connector_name,
|
||||||
|
payment_method_info,
|
||||||
|
) {
|
||||||
|
logger::info!("using network_transaction_id for MIT flow");
|
||||||
|
let network_transaction_id = payment_method_info
|
||||||
|
.network_transaction_id
|
||||||
|
.as_ref()
|
||||||
|
.ok_or(errors::ApiErrorResponse::InternalServerError)
|
||||||
|
.attach_printable("Failed to fetch the network transaction id")?;
|
||||||
|
|
||||||
|
let mandate_reference_id = Some(payments_api::MandateReferenceId::NetworkMandateId(
|
||||||
|
network_transaction_id.to_string(),
|
||||||
|
));
|
||||||
|
|
||||||
|
connector_choice = Some((connector_data, mandate_reference_id.clone()));
|
||||||
|
break;
|
||||||
} else {
|
} else {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user