mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-11-01 02:57:02 +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
	 Shankar Singh C
					Shankar Singh C