mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-30 01:27:31 +08:00
refactor(connector): make the original_authorized_amount optional for MITs with connector_mandate_details (#5311)
This commit is contained in:
@ -589,12 +589,30 @@ impl
|
|||||||
Some(payments::MandateReferenceId::ConnectorMandateId(_)) => {
|
Some(payments::MandateReferenceId::ConnectorMandateId(_)) => {
|
||||||
let original_amount = item
|
let original_amount = item
|
||||||
.router_data
|
.router_data
|
||||||
.get_recurring_mandate_payment_data()?
|
.recurring_mandate_payment_data
|
||||||
.get_original_payment_amount()?;
|
.as_ref()
|
||||||
|
.and_then(|recurring_mandate_payment_data| {
|
||||||
|
recurring_mandate_payment_data.original_payment_authorized_amount
|
||||||
|
});
|
||||||
|
|
||||||
let original_currency = item
|
let original_currency = item
|
||||||
.router_data
|
.router_data
|
||||||
.get_recurring_mandate_payment_data()?
|
.recurring_mandate_payment_data
|
||||||
.get_original_payment_currency()?;
|
.as_ref()
|
||||||
|
.and_then(|recurring_mandate_payment_data| {
|
||||||
|
recurring_mandate_payment_data.original_payment_authorized_currency
|
||||||
|
});
|
||||||
|
|
||||||
|
let original_authorized_amount = match original_amount.zip(original_currency) {
|
||||||
|
Some((original_amount, original_currency)) => {
|
||||||
|
Some(utils::get_amount_as_string(
|
||||||
|
&api::CurrencyUnit::Base,
|
||||||
|
original_amount,
|
||||||
|
original_currency,
|
||||||
|
)?)
|
||||||
|
}
|
||||||
|
None => None,
|
||||||
|
};
|
||||||
(
|
(
|
||||||
None,
|
None,
|
||||||
None,
|
None,
|
||||||
@ -602,11 +620,7 @@ impl
|
|||||||
initiator: None,
|
initiator: None,
|
||||||
merchant_intitiated_transaction: Some(MerchantInitiatedTransaction {
|
merchant_intitiated_transaction: Some(MerchantInitiatedTransaction {
|
||||||
reason: None,
|
reason: None,
|
||||||
original_authorized_amount: Some(utils::get_amount_as_string(
|
original_authorized_amount,
|
||||||
&api::CurrencyUnit::Base,
|
|
||||||
original_amount,
|
|
||||||
original_currency,
|
|
||||||
)?),
|
|
||||||
previous_transaction_id: None,
|
previous_transaction_id: None,
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
@ -618,7 +632,8 @@ impl
|
|||||||
.map(|network| network.to_lowercase())
|
.map(|network| network.to_lowercase())
|
||||||
.as_deref()
|
.as_deref()
|
||||||
{
|
{
|
||||||
Some("discover") => {
|
//This is to make original_authorized_amount mandatory for discover card networks in NetworkMandateId flow
|
||||||
|
Some("004") => {
|
||||||
let original_amount = Some(
|
let original_amount = Some(
|
||||||
item.router_data
|
item.router_data
|
||||||
.get_recurring_mandate_payment_data()?
|
.get_recurring_mandate_payment_data()?
|
||||||
@ -653,12 +668,11 @@ impl
|
|||||||
(original_amount, original_currency)
|
(original_amount, original_currency)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
let original_authorized_amount = match original_amount.zip(original_currency) {
|
||||||
let original_authorized_amount = match (original_amount, original_currency) {
|
Some((original_amount, original_currency)) => Some(
|
||||||
(Some(original_amount), Some(original_currency)) => Some(
|
|
||||||
utils::to_currency_base_unit(original_amount, original_currency)?,
|
utils::to_currency_base_unit(original_amount, original_currency)?,
|
||||||
),
|
),
|
||||||
_ => None,
|
None => None,
|
||||||
};
|
};
|
||||||
commerce_indicator = "recurring".to_string();
|
commerce_indicator = "recurring".to_string();
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user