mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
refactor(router): store network_transaction_id for off_session payments irrespective of the is_connector_agnostic_mit_enabled config (#7083)
Co-authored-by: Gnanasundari24 <118818938+Gnanasundari24@users.noreply.github.com> Co-authored-by: Pa1NarK <69745008+pixincreate@users.noreply.github.com>
This commit is contained in:
@ -576,7 +576,7 @@ impl<F: Clone> PostUpdateTracker<F, PaymentData<F>, types::PaymentsSyncData> for
|
||||
merchant_account: &domain::MerchantAccount,
|
||||
key_store: &domain::MerchantKeyStore,
|
||||
payment_data: &mut PaymentData<F>,
|
||||
business_profile: &domain::Profile,
|
||||
_business_profile: &domain::Profile,
|
||||
) -> CustomResult<(), errors::ApiErrorResponse>
|
||||
where
|
||||
F: 'b + Clone + Send + Sync,
|
||||
@ -617,7 +617,6 @@ impl<F: Clone> PostUpdateTracker<F, PaymentData<F>, types::PaymentsSyncData> for
|
||||
resp.status,
|
||||
resp.response.clone(),
|
||||
merchant_account.storage_scheme,
|
||||
business_profile.is_connector_agnostic_mit_enabled,
|
||||
)
|
||||
.await?;
|
||||
Ok(())
|
||||
@ -1201,7 +1200,7 @@ impl<F: Clone> PostUpdateTracker<F, PaymentData<F>, types::CompleteAuthorizeData
|
||||
merchant_account: &domain::MerchantAccount,
|
||||
key_store: &domain::MerchantKeyStore,
|
||||
payment_data: &mut PaymentData<F>,
|
||||
business_profile: &domain::Profile,
|
||||
_business_profile: &domain::Profile,
|
||||
) -> CustomResult<(), errors::ApiErrorResponse>
|
||||
where
|
||||
F: 'b + Clone + Send + Sync,
|
||||
@ -1241,7 +1240,6 @@ impl<F: Clone> PostUpdateTracker<F, PaymentData<F>, types::CompleteAuthorizeData
|
||||
resp.status,
|
||||
resp.response.clone(),
|
||||
merchant_account.storage_scheme,
|
||||
business_profile.is_connector_agnostic_mit_enabled,
|
||||
)
|
||||
.await?;
|
||||
Ok(())
|
||||
@ -2068,7 +2066,6 @@ async fn update_payment_method_status_and_ntid<F: Clone>(
|
||||
attempt_status: common_enums::AttemptStatus,
|
||||
payment_response: Result<types::PaymentsResponseData, ErrorResponse>,
|
||||
storage_scheme: enums::MerchantStorageScheme,
|
||||
is_connector_agnostic_mit_enabled: Option<bool>,
|
||||
) -> RouterResult<()> {
|
||||
todo!()
|
||||
}
|
||||
@ -2084,7 +2081,6 @@ async fn update_payment_method_status_and_ntid<F: Clone>(
|
||||
attempt_status: common_enums::AttemptStatus,
|
||||
payment_response: Result<types::PaymentsResponseData, ErrorResponse>,
|
||||
storage_scheme: enums::MerchantStorageScheme,
|
||||
is_connector_agnostic_mit_enabled: Option<bool>,
|
||||
) -> RouterResult<()> {
|
||||
// If the payment_method is deleted then ignore the error related to retrieving payment method
|
||||
// This should be handled when the payment method is soft deleted
|
||||
@ -2119,20 +2115,18 @@ async fn update_payment_method_status_and_ntid<F: Clone>(
|
||||
})
|
||||
.ok()
|
||||
.flatten();
|
||||
let network_transaction_id =
|
||||
if let Some(network_transaction_id) = pm_resp_network_transaction_id {
|
||||
if is_connector_agnostic_mit_enabled == Some(true)
|
||||
&& payment_data.payment_intent.setup_future_usage
|
||||
== Some(diesel_models::enums::FutureUsage::OffSession)
|
||||
{
|
||||
Some(network_transaction_id)
|
||||
} else {
|
||||
logger::info!("Skip storing network transaction id");
|
||||
None
|
||||
}
|
||||
let network_transaction_id = if payment_data.payment_intent.setup_future_usage
|
||||
== Some(diesel_models::enums::FutureUsage::OffSession)
|
||||
{
|
||||
if pm_resp_network_transaction_id.is_some() {
|
||||
pm_resp_network_transaction_id
|
||||
} else {
|
||||
logger::info!("Skip storing network transaction id");
|
||||
None
|
||||
};
|
||||
}
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let pm_update = if payment_method.status != common_enums::PaymentMethodStatus::Active
|
||||
&& payment_method.status != attempt_status.into()
|
||||
|
||||
@ -111,12 +111,11 @@ where
|
||||
};
|
||||
|
||||
let network_transaction_id =
|
||||
if let Some(network_transaction_id) = network_transaction_id {
|
||||
if business_profile.is_connector_agnostic_mit_enabled == Some(true)
|
||||
&& save_payment_method_data.request.get_setup_future_usage()
|
||||
== Some(storage_enums::FutureUsage::OffSession)
|
||||
{
|
||||
Some(network_transaction_id)
|
||||
if save_payment_method_data.request.get_setup_future_usage()
|
||||
== Some(storage_enums::FutureUsage::OffSession)
|
||||
{
|
||||
if network_transaction_id.is_some() {
|
||||
network_transaction_id
|
||||
} else {
|
||||
logger::info!("Skip storing network transaction id");
|
||||
None
|
||||
|
||||
Reference in New Issue
Block a user