mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-31 01:57:45 +08:00
fix(core): Fix net_amount on Incremental Authorization Update (#9073)
Co-authored-by: Anurag Singh <anurag.singh.001@MacBookPro.lan> Co-authored-by: Anurag Singh <anurag.singh.001@Anurag-Singh-WPMHJ5619X.local>
This commit is contained in:
@ -1098,6 +1098,10 @@ impl NetAmount {
|
|||||||
+ self.tax_on_surcharge.unwrap_or_default()
|
+ self.tax_on_surcharge.unwrap_or_default()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get_additional_amount(&self) -> MinorUnit {
|
||||||
|
self.get_total_amount() - self.get_order_amount()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn set_order_amount(&mut self, order_amount: MinorUnit) {
|
pub fn set_order_amount(&mut self, order_amount: MinorUnit) {
|
||||||
self.order_amount = order_amount;
|
self.order_amount = order_amount;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -421,7 +421,8 @@ impl<F: Clone> PostUpdateTracker<F, PaymentData<F>, types::PaymentsIncrementalAu
|
|||||||
Some(
|
Some(
|
||||||
storage::PaymentAttemptUpdate::IncrementalAuthorizationAmountUpdate {
|
storage::PaymentAttemptUpdate::IncrementalAuthorizationAmountUpdate {
|
||||||
net_amount: hyperswitch_domain_models::payments::payment_attempt::NetAmount::new(
|
net_amount: hyperswitch_domain_models::payments::payment_attempt::NetAmount::new(
|
||||||
incremental_authorization_details.total_amount,
|
// Internally, `NetAmount` is computed as (order_amount + additional_amount), so we subtract here to avoid double-counting.
|
||||||
|
incremental_authorization_details.total_amount - payment_data.payment_attempt.net_amount.get_additional_amount(),
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
@ -432,7 +433,7 @@ impl<F: Clone> PostUpdateTracker<F, PaymentData<F>, types::PaymentsIncrementalAu
|
|||||||
),
|
),
|
||||||
Some(
|
Some(
|
||||||
storage::PaymentIntentUpdate::IncrementalAuthorizationAmountUpdate {
|
storage::PaymentIntentUpdate::IncrementalAuthorizationAmountUpdate {
|
||||||
amount: incremental_authorization_details.total_amount,
|
amount: incremental_authorization_details.total_amount - payment_data.payment_attempt.net_amount.get_additional_amount(),
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user