mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 17:19:15 +08:00
bugfix(refunds): skip validate refunds for card (#672)
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
use common_utils::ext_traits::StringExt;
|
||||
use error_stack::{report, ResultExt};
|
||||
use error_stack::{report, IntoReport, ResultExt};
|
||||
use router_env::{instrument, tracing};
|
||||
use time::PrimitiveDateTime;
|
||||
|
||||
@ -149,27 +149,38 @@ pub fn validate_for_valid_refunds(
|
||||
.parse_enum("connector")
|
||||
.change_context(errors::ApiErrorResponse::IncorrectConnectorNameGiven)?;
|
||||
|
||||
let payment_method_type = payment_attempt
|
||||
.payment_method_type
|
||||
.clone()
|
||||
.get_required_value("payment_method_type")?;
|
||||
let payment_method = payment_attempt
|
||||
.payment_method
|
||||
.as_ref()
|
||||
.get_required_value("payment_method")?;
|
||||
|
||||
utils::when(
|
||||
matches!(
|
||||
(connector, payment_method_type),
|
||||
(
|
||||
api_models::enums::Connector::Braintree,
|
||||
storage_models::enums::PaymentMethodType::Paypal
|
||||
) | (
|
||||
api_models::enums::Connector::Klarna,
|
||||
storage_models::enums::PaymentMethodType::Klarna
|
||||
match payment_method {
|
||||
storage_models::enums::PaymentMethod::PayLater
|
||||
| storage_models::enums::PaymentMethod::Wallet => {
|
||||
let payment_method_type = payment_attempt
|
||||
.payment_method_type
|
||||
.clone()
|
||||
.get_required_value("payment_method_type")?;
|
||||
|
||||
utils::when(
|
||||
matches!(
|
||||
(connector, payment_method_type),
|
||||
(
|
||||
api_models::enums::Connector::Braintree,
|
||||
storage_models::enums::PaymentMethodType::Paypal,
|
||||
) | (
|
||||
api_models::enums::Connector::Klarna,
|
||||
storage_models::enums::PaymentMethodType::Klarna
|
||||
)
|
||||
),
|
||||
|| {
|
||||
Err(errors::ApiErrorResponse::RefundNotPossible {
|
||||
connector: connector.to_string(),
|
||||
})
|
||||
},
|
||||
)
|
||||
),
|
||||
|| {
|
||||
Err(errors::ApiErrorResponse::RefundNotPossible {
|
||||
connector: connector.to_string(),
|
||||
})
|
||||
},
|
||||
)?;
|
||||
Ok(())
|
||||
.into_report()
|
||||
}
|
||||
_ => Ok(()),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user