diff --git a/crates/api_models/src/payments.rs b/crates/api_models/src/payments.rs
index 63b2930611..b719d1f7d1 100644
--- a/crates/api_models/src/payments.rs
+++ b/crates/api_models/src/payments.rs
@@ -1292,26 +1292,14 @@ pub trait GetAddressFromPaymentMethodData {
impl GetAddressFromPaymentMethodData for PaymentMethodData {
fn get_billing_address(&self) -> Option
{
match self {
- Self::Card(card_data) => {
- card_data
- .card_holder_name
- .as_ref()
- .map(|card_holder_name| Address {
- address: Some(AddressDetails {
- first_name: Some(card_holder_name.clone()),
- ..AddressDetails::default()
- }),
- email: None,
- phone: None,
- })
- }
+ Self::Card(_) => None,
Self::CardRedirect(_) => None,
- Self::Wallet(wallet_data) => wallet_data.get_billing_address(),
- Self::PayLater(pay_later_data) => pay_later_data.get_billing_address(),
- Self::BankRedirect(bank_redirect_data) => bank_redirect_data.get_billing_address(),
- Self::BankDebit(bank_debit_data) => bank_debit_data.get_billing_address(),
- Self::BankTransfer(bank_transfer_data) => bank_transfer_data.get_billing_address(),
- Self::Voucher(voucher_data) => voucher_data.get_billing_address(),
+ Self::Wallet(_) => None,
+ Self::PayLater(_) => None,
+ Self::BankRedirect(_) => None,
+ Self::BankDebit(_) => None,
+ Self::BankTransfer(_) => None,
+ Self::Voucher(_) => None,
Self::Crypto(_)
| Self::Reward
| Self::Upi(_)
@@ -2597,6 +2585,21 @@ pub struct Address {
pub email: Option,
}
+impl Address {
+ /// Unify the address, giving priority to `self` when details are present in both
+ pub fn unify_address(self, other: Option<&Self>) -> Self {
+ let other_address_details = other.and_then(|address| address.address.as_ref());
+ Self {
+ address: self
+ .address
+ .map(|address| address.unify_address_details(other_address_details))
+ .or(other_address_details.cloned()),
+ email: self.email.or(other.and_then(|other| other.email.clone())),
+ phone: self.phone.or(other.and_then(|other| other.phone.clone())),
+ }
+ }
+}
+
// used by customers also, could be moved outside
/// Address details
#[derive(Clone, Default, Debug, Eq, serde::Deserialize, serde::Serialize, PartialEq, ToSchema)]
@@ -2639,6 +2642,32 @@ pub struct AddressDetails {
pub last_name: Option>,
}
+impl AddressDetails {
+ pub fn unify_address_details(self, other: Option<&Self>) -> Self {
+ if let Some(other) = other {
+ let (first_name, last_name) = if self.first_name.is_some() {
+ (self.first_name, self.last_name)
+ } else {
+ (other.first_name.clone(), other.last_name.clone())
+ };
+
+ Self {
+ first_name,
+ last_name,
+ city: self.city.or(other.city.clone()),
+ country: self.country.or(other.country),
+ line1: self.line1.or(other.line1.clone()),
+ line2: self.line2.or(other.line2.clone()),
+ line3: self.line3.or(other.line3.clone()),
+ zip: self.zip.or(other.zip.clone()),
+ state: self.state.or(other.state.clone()),
+ }
+ } else {
+ self
+ }
+ }
+}
+
#[derive(Debug, Clone, Default, Eq, PartialEq, ToSchema, serde::Deserialize, serde::Serialize)]
pub struct PhoneDetails {
/// The contact number
diff --git a/crates/common_enums/src/enums.rs b/crates/common_enums/src/enums.rs
index 497f1f5872..571449b987 100644
--- a/crates/common_enums/src/enums.rs
+++ b/crates/common_enums/src/enums.rs
@@ -2485,3 +2485,167 @@ pub enum PermissionGroup {
MerchantDetailsManage,
OrganizationManage,
}
+
+/// Name of banks supported by Hyperswitch
+#[derive(
+ Clone,
+ Copy,
+ Debug,
+ Eq,
+ Hash,
+ PartialEq,
+ serde::Deserialize,
+ serde::Serialize,
+ strum::Display,
+ strum::EnumString,
+ ToSchema,
+)]
+#[strum(serialize_all = "snake_case")]
+#[serde(rename_all = "snake_case")]
+pub enum BankNames {
+ AmericanExpress,
+ AffinBank,
+ AgroBank,
+ AllianceBank,
+ AmBank,
+ BankOfAmerica,
+ BankIslam,
+ BankMuamalat,
+ BankRakyat,
+ BankSimpananNasional,
+ Barclays,
+ BlikPSP,
+ CapitalOne,
+ Chase,
+ Citi,
+ CimbBank,
+ Discover,
+ NavyFederalCreditUnion,
+ PentagonFederalCreditUnion,
+ SynchronyBank,
+ WellsFargo,
+ AbnAmro,
+ AsnBank,
+ Bunq,
+ Handelsbanken,
+ HongLeongBank,
+ HsbcBank,
+ Ing,
+ Knab,
+ KuwaitFinanceHouse,
+ Moneyou,
+ Rabobank,
+ Regiobank,
+ Revolut,
+ SnsBank,
+ TriodosBank,
+ VanLanschot,
+ ArzteUndApothekerBank,
+ AustrianAnadiBankAg,
+ BankAustria,
+ Bank99Ag,
+ BankhausCarlSpangler,
+ BankhausSchelhammerUndSchatteraAg,
+ BankMillennium,
+ BankPEKAOSA,
+ BawagPskAg,
+ BksBankAg,
+ BrullKallmusBankAg,
+ BtvVierLanderBank,
+ CapitalBankGraweGruppeAg,
+ CeskaSporitelna,
+ Dolomitenbank,
+ EasybankAg,
+ EPlatbyVUB,
+ ErsteBankUndSparkassen,
+ FrieslandBank,
+ HypoAlpeadriabankInternationalAg,
+ HypoNoeLbFurNiederosterreichUWien,
+ HypoOberosterreichSalzburgSteiermark,
+ HypoTirolBankAg,
+ HypoVorarlbergBankAg,
+ HypoBankBurgenlandAktiengesellschaft,
+ KomercniBanka,
+ MBank,
+ MarchfelderBank,
+ Maybank,
+ OberbankAg,
+ OsterreichischeArzteUndApothekerbank,
+ OcbcBank,
+ PayWithING,
+ PlaceZIPKO,
+ PlatnoscOnlineKartaPlatnicza,
+ PosojilnicaBankEGen,
+ PostovaBanka,
+ PublicBank,
+ RaiffeisenBankengruppeOsterreich,
+ RhbBank,
+ SchelhammerCapitalBankAg,
+ StandardCharteredBank,
+ SchoellerbankAg,
+ SpardaBankWien,
+ SporoPay,
+ SantanderPrzelew24,
+ TatraPay,
+ Viamo,
+ VolksbankGruppe,
+ VolkskreditbankAg,
+ VrBankBraunau,
+ UobBank,
+ PayWithAliorBank,
+ BankiSpoldzielcze,
+ PayWithInteligo,
+ BNPParibasPoland,
+ BankNowySA,
+ CreditAgricole,
+ PayWithBOS,
+ PayWithCitiHandlowy,
+ PayWithPlusBank,
+ ToyotaBank,
+ VeloBank,
+ ETransferPocztowy24,
+ PlusBank,
+ EtransferPocztowy24,
+ BankiSpbdzielcze,
+ BankNowyBfgSa,
+ GetinBank,
+ Blik,
+ NoblePay,
+ IdeaBank,
+ EnveloBank,
+ NestPrzelew,
+ MbankMtransfer,
+ Inteligo,
+ PbacZIpko,
+ BnpParibas,
+ BankPekaoSa,
+ VolkswagenBank,
+ AliorBank,
+ Boz,
+ BangkokBank,
+ KrungsriBank,
+ KrungThaiBank,
+ TheSiamCommercialBank,
+ KasikornBank,
+ OpenBankSuccess,
+ OpenBankFailure,
+ OpenBankCancelled,
+ Aib,
+ BankOfScotland,
+ DanskeBank,
+ FirstDirect,
+ FirstTrust,
+ Halifax,
+ Lloyds,
+ Monzo,
+ NatWest,
+ NationwideBank,
+ RoyalBankOfScotland,
+ Starling,
+ TsbBank,
+ TescoBank,
+ UlsterBank,
+ Yoursafe,
+ N26,
+ NationaleNederlanden,
+}
diff --git a/crates/diesel_models/src/enums.rs b/crates/diesel_models/src/enums.rs
index 865524c645..7d9b6eb57e 100644
--- a/crates/diesel_models/src/enums.rs
+++ b/crates/diesel_models/src/enums.rs
@@ -222,141 +222,6 @@ pub struct MandateAmountData {
pub metadata: Option,
}
-#[derive(
- Clone,
- Copy,
- Debug,
- Eq,
- Hash,
- PartialEq,
- serde::Deserialize,
- serde::Serialize,
- strum::Display,
- strum::EnumString,
-)]
-#[diesel_enum(storage_type = "text")]
-#[strum(serialize_all = "snake_case")]
-#[serde(rename_all = "snake_case")]
-pub enum BankNames {
- AmericanExpress,
- BankOfAmerica,
- Barclays,
- CapitalOne,
- Chase,
- Citi,
- Discover,
- NavyFederalCreditUnion,
- PentagonFederalCreditUnion,
- SynchronyBank,
- WellsFargo,
- AbnAmro,
- AsnBank,
- Bunq,
- Handelsbanken,
- Ing,
- Knab,
- Moneyou,
- Rabobank,
- Regiobank,
- Revolut,
- SnsBank,
- TriodosBank,
- VanLanschot,
- ArzteUndApothekerBank,
- AustrianAnadiBankAg,
- BankAustria,
- Bank99Ag,
- BankhausCarlSpangler,
- BankhausSchelhammerUndSchatteraAg,
- BawagPskAg,
- BksBankAg,
- BrullKallmusBankAg,
- BtvVierLanderBank,
- CapitalBankGraweGruppeAg,
- Dolomitenbank,
- EasybankAg,
- ErsteBankUndSparkassen,
- HypoAlpeadriabankInternationalAg,
- HypoNoeLbFurNiederosterreichUWien,
- HypoOberosterreichSalzburgSteiermark,
- HypoTirolBankAg,
- HypoVorarlbergBankAg,
- HypoBankBurgenlandAktiengesellschaft,
- MarchfelderBank,
- OberbankAg,
- OsterreichischeArzteUndApothekerbank,
- PosojilnicaBankEGen,
- RaiffeisenBankengruppeOsterreich,
- SchelhammerCapitalBankAg,
- SchoellerbankAg,
- SpardaBankWien,
- VolksbankGruppe,
- VolkskreditbankAg,
- VrBankBraunau,
- PlusBank,
- EtransferPocztowy24,
- BankiSpbdzielcze,
- BankNowyBfgSa,
- GetinBank,
- Blik,
- NoblePay,
- IdeaBank,
- EnveloBank,
- NestPrzelew,
- MbankMtransfer,
- Inteligo,
- PbacZIpko,
- BnpParibas,
- BankPekaoSa,
- VolkswagenBank,
- AliorBank,
- Boz,
- AffinBank,
- AgroBank,
- AllianceBank,
- AmBank,
- BankIslam,
- BankMuamalat,
- BankRakyat,
- BankSimpananNasional,
- CimbBank,
- HongLeongBank,
- HsbcBank,
- KuwaitFinanceHouse,
- Maybank,
- OcbcBank,
- PublicBank,
- RhbBank,
- StandardCharteredBank,
- UobBank,
- BangkokBank,
- KrungsriBank,
- KrungThaiBank,
- TheSiamCommercialBank,
- KasikornBank,
- OpenBankSuccess,
- OpenBankFailure,
- OpenBankCancelled,
- Aib,
- BankOfScotland,
- DanskeBank,
- FirstDirect,
- FirstTrust,
- Halifax,
- Lloyds,
- Monzo,
- NatWest,
- NationwideBank,
- RoyalBankOfScotland,
- Starling,
- TsbBank,
- TescoBank,
- UlsterBank,
- Yoursafe,
- N26,
- NationaleNederlanden,
-}
-
#[derive(
Clone,
Copy,
diff --git a/crates/router/build.rs b/crates/router/build.rs
index 167ca91840..b33c168833 100644
--- a/crates/router/build.rs
+++ b/crates/router/build.rs
@@ -1,8 +1,8 @@
fn main() {
- // Set thread stack size to 4 MiB for debug builds
+ // Set thread stack size to 8 MiB for debug builds
// Reference: https://doc.rust-lang.org/std/thread/#stack-size
#[cfg(debug_assertions)]
- println!("cargo:rustc-env=RUST_MIN_STACK=6291456"); // 6 * 1024 * 1024 = 6 MiB
+ println!("cargo:rustc-env=RUST_MIN_STACK=8388608"); // 8 * 1024 * 1024 = 8 MiB
#[cfg(feature = "vergen")]
router_env::vergen::generate_cargo_instructions();
diff --git a/crates/router/src/connector/aci/transformers.rs b/crates/router/src/connector/aci/transformers.rs
index 7fb3ba7c41..a478201f96 100644
--- a/crates/router/src/connector/aci/transformers.rs
+++ b/crates/router/src/connector/aci/transformers.rs
@@ -12,7 +12,7 @@ use crate::{
connector::utils::{self, RouterData},
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, domain, storage::enums},
};
type Error = error_stack::Report;
@@ -302,9 +302,9 @@ impl
}
}
-impl TryFrom for PaymentDetails {
+impl TryFrom for PaymentDetails {
type Error = Error;
- fn try_from(card_data: api_models::payments::Card) -> Result {
+ fn try_from(card_data: domain::payments::Card) -> Result {
Ok(Self::AciCard(Box::new(CardDetails {
card_number: card_data.card_number,
card_holder: card_data
@@ -441,15 +441,17 @@ impl TryFrom<&AciRouterData<&types::PaymentsAuthorizeRouterData>> for AciPayment
item: &AciRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ref card_data) => Self::try_from((item, card_data)),
- api::PaymentMethodData::Wallet(ref wallet_data) => Self::try_from((item, wallet_data)),
- api::PaymentMethodData::PayLater(ref pay_later_data) => {
+ domain::PaymentMethodData::Card(ref card_data) => Self::try_from((item, card_data)),
+ domain::PaymentMethodData::Wallet(ref wallet_data) => {
+ Self::try_from((item, wallet_data))
+ }
+ domain::PaymentMethodData::PayLater(ref pay_later_data) => {
Self::try_from((item, pay_later_data))
}
- api::PaymentMethodData::BankRedirect(ref bank_redirect_data) => {
+ domain::PaymentMethodData::BankRedirect(ref bank_redirect_data) => {
Self::try_from((item, bank_redirect_data))
}
- api::PaymentMethodData::MandatePayment => {
+ domain::PaymentMethodData::MandatePayment => {
let mandate_id = item.router_data.request.mandate_id.clone().ok_or(
errors::ConnectorError::MissingRequiredField {
field_name: "mandate_id",
@@ -457,17 +459,19 @@ impl TryFrom<&AciRouterData<&types::PaymentsAuthorizeRouterData>> for AciPayment
)?;
Self::try_from((item, mandate_id))
}
- api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Aci"),
- ))?,
+ domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Aci"),
+ ))?
+ }
}
}
}
@@ -553,14 +557,14 @@ impl
impl
TryFrom<(
&AciRouterData<&types::PaymentsAuthorizeRouterData>,
- &api::Card,
+ &domain::Card,
)> for AciPaymentsRequest
{
type Error = Error;
fn try_from(
value: (
&AciRouterData<&types::PaymentsAuthorizeRouterData>,
- &api::Card,
+ &domain::Card,
),
) -> Result {
let (item, card_data) = value;
diff --git a/crates/router/src/connector/adyen/transformers.rs b/crates/router/src/connector/adyen/transformers.rs
index b301be7f57..5a1abb147e 100644
--- a/crates/router/src/connector/adyen/transformers.rs
+++ b/crates/router/src/connector/adyen/transformers.rs
@@ -21,6 +21,7 @@ use crate::{
types::{
self,
api::{self, enums as api_enums},
+ domain,
storage::enums as storage_enums,
transformers::{ForeignFrom, ForeignTryFrom},
PaymentsAuthorizeData,
@@ -1553,38 +1554,38 @@ impl<'a> TryFrom<&AdyenRouterData<&types::PaymentsAuthorizeRouterData>>
{
Some(mandate_ref) => AdyenPaymentRequest::try_from((item, mandate_ref)),
None => match item.router_data.request.payment_method_data {
- api_models::payments::PaymentMethodData::Card(ref card) => {
+ domain::PaymentMethodData::Card(ref card) => {
AdyenPaymentRequest::try_from((item, card))
}
- api_models::payments::PaymentMethodData::Wallet(ref wallet) => {
+ domain::PaymentMethodData::Wallet(ref wallet) => {
AdyenPaymentRequest::try_from((item, wallet))
}
- api_models::payments::PaymentMethodData::PayLater(ref pay_later) => {
+ domain::PaymentMethodData::PayLater(ref pay_later) => {
AdyenPaymentRequest::try_from((item, pay_later))
}
- api_models::payments::PaymentMethodData::BankRedirect(ref bank_redirect) => {
+ domain::PaymentMethodData::BankRedirect(ref bank_redirect) => {
AdyenPaymentRequest::try_from((item, bank_redirect))
}
- api_models::payments::PaymentMethodData::BankDebit(ref bank_debit) => {
+ domain::PaymentMethodData::BankDebit(ref bank_debit) => {
AdyenPaymentRequest::try_from((item, bank_debit))
}
- api_models::payments::PaymentMethodData::BankTransfer(ref bank_transfer) => {
+ domain::PaymentMethodData::BankTransfer(ref bank_transfer) => {
AdyenPaymentRequest::try_from((item, bank_transfer.as_ref()))
}
- api_models::payments::PaymentMethodData::CardRedirect(ref card_redirect_data) => {
+ domain::PaymentMethodData::CardRedirect(ref card_redirect_data) => {
AdyenPaymentRequest::try_from((item, card_redirect_data))
}
- api_models::payments::PaymentMethodData::Voucher(ref voucher_data) => {
+ domain::PaymentMethodData::Voucher(ref voucher_data) => {
AdyenPaymentRequest::try_from((item, voucher_data))
}
- api_models::payments::PaymentMethodData::GiftCard(ref gift_card_data) => {
+ domain::PaymentMethodData::GiftCard(ref gift_card_data) => {
AdyenPaymentRequest::try_from((item, gift_card_data.as_ref()))
}
- payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Adyen"),
))?
@@ -1598,7 +1599,7 @@ impl<'a> TryFrom<&types::PaymentsPreProcessingRouterData> for AdyenBalanceReques
type Error = Error;
fn try_from(item: &types::PaymentsPreProcessingRouterData) -> Result {
let payment_method = match &item.request.payment_method_data {
- Some(payments::PaymentMethodData::GiftCard(gift_card_data)) => {
+ Some(domain::PaymentMethodData::GiftCard(gift_card_data)) => {
match gift_card_data.as_ref() {
payments::GiftCardData::Givex(gift_card_data) => {
let balance_pm = BalancePmData {
@@ -1962,9 +1963,9 @@ impl<'a> TryFrom<&api_models::payments::GiftCardData> for AdyenPaymentMethod<'a>
}
}
-impl<'a> TryFrom<&api::Card> for AdyenPaymentMethod<'a> {
+impl<'a> TryFrom<&domain::Card> for AdyenPaymentMethod<'a> {
type Error = Error;
- fn try_from(card: &api::Card) -> Result {
+ fn try_from(card: &domain::Card) -> Result {
let adyen_card = AdyenCard {
payment_type: PaymentType::Scheme,
number: card.card_number.clone(),
@@ -2505,16 +2506,16 @@ impl<'a> TryFrom<&api_models::payments::BankTransferData> for AdyenPaymentMethod
}
}
-impl<'a> TryFrom<&api_models::payments::CardRedirectData> for AdyenPaymentMethod<'a> {
+impl<'a> TryFrom<&domain::payments::CardRedirectData> for AdyenPaymentMethod<'a> {
type Error = Error;
fn try_from(
- card_redirect_data: &api_models::payments::CardRedirectData,
+ card_redirect_data: &domain::payments::CardRedirectData,
) -> Result {
match card_redirect_data {
- payments::CardRedirectData::Knet {} => Ok(AdyenPaymentMethod::Knet),
- payments::CardRedirectData::Benefit {} => Ok(AdyenPaymentMethod::Benefit),
- payments::CardRedirectData::MomoAtm {} => Ok(AdyenPaymentMethod::MomoAtm),
- payments::CardRedirectData::CardRedirect {} => {
+ domain::CardRedirectData::Knet {} => Ok(AdyenPaymentMethod::Knet),
+ domain::CardRedirectData::Benefit {} => Ok(AdyenPaymentMethod::Benefit),
+ domain::CardRedirectData::MomoAtm {} => Ok(AdyenPaymentMethod::MomoAtm),
+ domain::CardRedirectData::CardRedirect {} => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Adyen"),
)
@@ -2566,7 +2567,7 @@ impl<'a>
}
payments::MandateReferenceId::NetworkMandateId(network_mandate_id) => {
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref card) => {
+ domain::PaymentMethodData::Card(ref card) => {
let card_issuer = card.get_card_issuer()?;
let brand = CardBrand::try_from(&card_issuer)?;
let adyen_card = AdyenCard {
@@ -2581,19 +2582,19 @@ impl<'a>
};
Ok(AdyenPaymentMethod::AdyenCard(Box::new(adyen_card)))
}
- payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotSupported {
message: "Network tokenization for payment method".to_string(),
connector: "Adyen",
@@ -2633,14 +2634,14 @@ impl<'a>
impl<'a>
TryFrom<(
&AdyenRouterData<&types::PaymentsAuthorizeRouterData>,
- &api::Card,
+ &domain::Card,
)> for AdyenPaymentRequest<'a>
{
type Error = Error;
fn try_from(
value: (
&AdyenRouterData<&types::PaymentsAuthorizeRouterData>,
- &api::Card,
+ &domain::Card,
),
) -> Result {
let (item, card_data) = value;
@@ -2960,22 +2961,20 @@ fn get_redirect_extra_details(
item: &types::PaymentsAuthorizeRouterData,
) -> Result<(Option, Option), errors::ConnectorError> {
match item.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankRedirect(ref redirect_data) => {
- match redirect_data {
- api_models::payments::BankRedirectData::Sofort {
- country,
- preferred_language,
- ..
- } => Ok((preferred_language.clone(), *country)),
- api_models::payments::BankRedirectData::OpenBankingUk { country, .. } => {
- let country = country.ok_or(errors::ConnectorError::MissingRequiredField {
- field_name: "country",
- })?;
- Ok((None, Some(country)))
- }
- _ => Ok((None, None)),
+ domain::PaymentMethodData::BankRedirect(ref redirect_data) => match redirect_data {
+ api_models::payments::BankRedirectData::Sofort {
+ country,
+ preferred_language,
+ ..
+ } => Ok((preferred_language.clone(), *country)),
+ api_models::payments::BankRedirectData::OpenBankingUk { country, .. } => {
+ let country = country.ok_or(errors::ConnectorError::MissingRequiredField {
+ field_name: "country",
+ })?;
+ Ok((None, Some(country)))
}
- }
+ _ => Ok((None, None)),
+ },
_ => Ok((None, None)),
}
}
@@ -3131,14 +3130,14 @@ impl<'a>
impl<'a>
TryFrom<(
&AdyenRouterData<&types::PaymentsAuthorizeRouterData>,
- &api_models::payments::CardRedirectData,
+ &domain::payments::CardRedirectData,
)> for AdyenPaymentRequest<'a>
{
type Error = Error;
fn try_from(
value: (
&AdyenRouterData<&types::PaymentsAuthorizeRouterData>,
- &api_models::payments::CardRedirectData,
+ &domain::payments::CardRedirectData,
),
) -> Result {
let (item, card_redirect_data) = value;
diff --git a/crates/router/src/connector/airwallex/transformers.rs b/crates/router/src/connector/airwallex/transformers.rs
index ee52884817..6d17707355 100644
--- a/crates/router/src/connector/airwallex/transformers.rs
+++ b/crates/router/src/connector/airwallex/transformers.rs
@@ -10,7 +10,7 @@ use crate::{
core::errors,
pii::Secret,
services,
- types::{self, api, storage::enums, PaymentsSyncData},
+ types::{self, api, domain, storage::enums, PaymentsSyncData},
};
pub struct AirwallexAuthType {
@@ -167,7 +167,7 @@ impl TryFrom<&AirwallexRouterData<&types::PaymentsAuthorizeRouterData>>
let mut payment_method_options = None;
let request = &item.router_data.request;
let payment_method = match request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
payment_method_options =
Some(AirwallexPaymentOptions::Card(AirwallexCardPaymentOptions {
auto_capture: matches!(
@@ -185,21 +185,23 @@ impl TryFrom<&AirwallexRouterData<&types::PaymentsAuthorizeRouterData>>
payment_method_type: AirwallexPaymentType::Card,
}))
}
- api::PaymentMethodData::Wallet(ref wallet_data) => get_wallet_details(wallet_data),
- api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("airwallex"),
- )),
+ domain::PaymentMethodData::Wallet(ref wallet_data) => get_wallet_details(wallet_data),
+ domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("airwallex"),
+ ))
+ }
}?;
Ok(Self {
diff --git a/crates/router/src/connector/authorizedotnet/transformers.rs b/crates/router/src/connector/authorizedotnet/transformers.rs
index 2e5a9f3bbc..3156f01ebc 100644
--- a/crates/router/src/connector/authorizedotnet/transformers.rs
+++ b/crates/router/src/connector/authorizedotnet/transformers.rs
@@ -15,6 +15,7 @@ use crate::{
types::{
self,
api::{self, enums as api_enums},
+ domain,
storage::enums,
transformers::ForeignFrom,
},
@@ -163,7 +164,7 @@ fn get_pm_and_subsequent_auth_detail(
reason: Reason::Resubmission,
});
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
let payment_details = PaymentDetails::CreditCard(CreditCardDetails {
card_number: (*ccard.card_number).clone(),
expiration_date: ccard.get_expiry_date_as_yyyymm("-"),
@@ -171,19 +172,19 @@ fn get_pm_and_subsequent_auth_detail(
});
Ok((payment_details, processing_options, subseuent_auth_info))
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("authorizedotnet"),
))?
@@ -192,7 +193,7 @@ fn get_pm_and_subsequent_auth_detail(
}
Some(api_models::payments::MandateReferenceId::ConnectorMandateId(_)) | None => {
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
Ok((
PaymentDetails::CreditCard(CreditCardDetails {
card_number: (*ccard.card_number).clone(),
@@ -206,7 +207,7 @@ fn get_pm_and_subsequent_auth_detail(
None,
))
}
- api::PaymentMethodData::Wallet(ref wallet_data) => Ok((
+ domain::PaymentMethodData::Wallet(ref wallet_data) => Ok((
get_wallet_data(
wallet_data,
&item.router_data.request.complete_authorize_url,
@@ -214,18 +215,18 @@ fn get_pm_and_subsequent_auth_detail(
None,
None,
)),
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("authorizedotnet"),
))?
diff --git a/crates/router/src/connector/bambora/transformers.rs b/crates/router/src/connector/bambora/transformers.rs
index 40c3219d35..42420cb340 100644
--- a/crates/router/src/connector/bambora/transformers.rs
+++ b/crates/router/src/connector/bambora/transformers.rs
@@ -9,7 +9,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Default, Debug, Serialize, Eq, PartialEq)]
@@ -106,7 +106,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for BamboraPaymentsRequest {
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => {
+ domain::PaymentMethodData::Card(req_card) => {
let three_ds = match item.auth_type {
enums::AuthenticationType::ThreeDs => Some(ThreeDSecure {
enabled: true,
diff --git a/crates/router/src/connector/bankofamerica/transformers.rs b/crates/router/src/connector/bankofamerica/transformers.rs
index c5a4f0b317..b9456982f2 100644
--- a/crates/router/src/connector/bankofamerica/transformers.rs
+++ b/crates/router/src/connector/bankofamerica/transformers.rs
@@ -18,6 +18,7 @@ use crate::{
types::{
self,
api::{self, enums as api_enums},
+ domain,
storage::enums,
transformers::ForeignFrom,
ApplePayPredecryptData,
@@ -462,14 +463,14 @@ pub struct Avs {
impl
TryFrom<(
&BankOfAmericaRouterData<&types::PaymentsCompleteAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
)> for BankOfAmericaPaymentsRequest
{
type Error = error_stack::Report;
fn try_from(
(item, ccard): (
&BankOfAmericaRouterData<&types::PaymentsCompleteAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
),
) -> Result {
let email = item.router_data.request.get_email()?;
@@ -539,14 +540,14 @@ impl
impl
TryFrom<(
&BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
)> for BankOfAmericaPaymentsRequest
{
type Error = error_stack::Report;
fn try_from(
(item, ccard): (
&BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
),
) -> Result {
let email = item.router_data.request.get_email()?;
@@ -700,8 +701,8 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>>
item: &BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data.clone() {
- payments::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
- payments::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
payments::WalletData::ApplePay(apple_pay_data) => {
match item.router_data.payment_method_token.clone() {
Some(payment_method_token) => match payment_method_token {
@@ -803,18 +804,18 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>>
)
.into()),
},
- payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Bank of America"),
)
@@ -839,7 +840,7 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>>
item: &BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data.clone() {
- payments::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let card_issuer = ccard.get_card_issuer();
let card_type = match card_issuer {
Ok(issuer) => Some(String::from(issuer)),
@@ -860,19 +861,19 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsAuthorizeRouterData>>
client_reference_information,
})
}
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("BankOfAmerica"),
)
@@ -1232,7 +1233,7 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsPreProcessingRouterData>>
},
)?;
let payment_information = match payment_method_data {
- payments::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let card_issuer = ccard.get_card_issuer();
let card_type = match card_issuer {
Ok(issuer) => Some(String::from(issuer)),
@@ -1248,19 +1249,19 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsPreProcessingRouterData>>
},
}))
}
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("BankOfAmerica"),
))
@@ -1348,20 +1349,20 @@ impl TryFrom<&BankOfAmericaRouterData<&types::PaymentsCompleteAuthorizeRouterDat
},
)?;
match payment_method_data {
- payments::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("BankOfAmerica"),
)
diff --git a/crates/router/src/connector/billwerk/transformers.rs b/crates/router/src/connector/billwerk/transformers.rs
index ffcd14bf05..4e91a2c9ff 100644
--- a/crates/router/src/connector/billwerk/transformers.rs
+++ b/crates/router/src/connector/billwerk/transformers.rs
@@ -6,7 +6,7 @@ use crate::{
connector::utils::{self, CardData, PaymentsAuthorizeRequestData, RouterData},
consts,
core::errors,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
pub struct BillwerkRouterData {
@@ -85,7 +85,7 @@ impl TryFrom<&types::TokenizationRouterData> for BillwerkTokenRequest {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let connector_auth = &item.connector_auth_type;
let auth_type = BillwerkAuthType::try_from(connector_auth)?;
Ok(Self {
@@ -99,19 +99,19 @@ impl TryFrom<&types::TokenizationRouterData> for BillwerkTokenRequest {
strong_authentication_rule: None,
})
}
- api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::payments::PaymentMethodData::Wallet(_)
+ | domain::payments::PaymentMethodData::CardRedirect(_)
+ | domain::payments::PaymentMethodData::PayLater(_)
+ | domain::payments::PaymentMethodData::BankRedirect(_)
+ | domain::payments::PaymentMethodData::BankDebit(_)
+ | domain::payments::PaymentMethodData::BankTransfer(_)
+ | domain::payments::PaymentMethodData::Crypto(_)
+ | domain::payments::PaymentMethodData::MandatePayment
+ | domain::payments::PaymentMethodData::Reward
+ | domain::payments::PaymentMethodData::Upi(_)
+ | domain::payments::PaymentMethodData::Voucher(_)
+ | domain::payments::PaymentMethodData::GiftCard(_)
+ | domain::payments::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("billwerk"),
)
diff --git a/crates/router/src/connector/bluesnap/transformers.rs b/crates/router/src/connector/bluesnap/transformers.rs
index e22d27e4b8..518fb3f800 100644
--- a/crates/router/src/connector/bluesnap/transformers.rs
+++ b/crates/router/src/connector/bluesnap/transformers.rs
@@ -21,7 +21,7 @@ use crate::{
core::errors,
pii::Secret,
types::{
- self, api,
+ self, api, domain,
storage::enums,
transformers::{ForeignFrom, ForeignTryFrom},
},
@@ -230,23 +230,23 @@ impl TryFrom<&BluesnapRouterData<&types::PaymentsAuthorizeRouterData>>
item: &BluesnapRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => Ok(Self {
+ domain::PaymentMethodData::Card(ref ccard) => Ok(Self {
cc_number: ccard.card_number.clone(),
exp_date: ccard.get_expiry_date_as_mmyyyy("/"),
}),
- api::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
"Selected payment method via Token flow through bluesnap".to_string(),
)
@@ -280,7 +280,7 @@ impl TryFrom<&BluesnapRouterData<&types::PaymentsAuthorizeRouterData>> for Blues
.payment_method_data
.clone()
{
- api::PaymentMethodData::Card(ref ccard) => Ok((
+ domain::PaymentMethodData::Card(ref ccard) => Ok((
PaymentMethodDetails::CreditCard(Card {
card_number: ccard.card_number.clone(),
expiration_month: ccard.card_exp_month.clone(),
@@ -292,7 +292,7 @@ impl TryFrom<&BluesnapRouterData<&types::PaymentsAuthorizeRouterData>> for Blues
item.router_data.request.get_email()?,
)?,
)),
- api::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
api_models::payments::WalletData::GooglePay(payment_method_data) => {
let gpay_object = BluesnapGooglePayObject {
payment_method_data: utils::GooglePayWalletData::from(payment_method_data),
@@ -399,20 +399,22 @@ impl TryFrom<&BluesnapRouterData<&types::PaymentsAuthorizeRouterData>> for Blues
))
}
},
- payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("bluesnap"),
- )),
+ domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("bluesnap"),
+ ))
+ }
}?;
Ok(Self {
amount: item.amount.to_owned(),
diff --git a/crates/router/src/connector/boku/transformers.rs b/crates/router/src/connector/boku/transformers.rs
index 5f36225fd4..c2b805b5de 100644
--- a/crates/router/src/connector/boku/transformers.rs
+++ b/crates/router/src/connector/boku/transformers.rs
@@ -9,7 +9,7 @@ use crate::{
connector::utils::{self, AddressDetailsData, RouterData},
core::errors,
services::{self, RedirectForm},
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Debug, Clone, Serialize)]
@@ -78,22 +78,20 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for BokuPaymentsRequest {
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api_models::payments::PaymentMethodData::Wallet(wallet_data) => {
- Self::try_from((item, &wallet_data))
- }
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(wallet_data) => Self::try_from((item, &wallet_data)),
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("boku"),
))?
diff --git a/crates/router/src/connector/braintree/braintree_graphql_transformers.rs b/crates/router/src/connector/braintree/braintree_graphql_transformers.rs
index 1f933392f2..0399a5d428 100644
--- a/crates/router/src/connector/braintree/braintree_graphql_transformers.rs
+++ b/crates/router/src/connector/braintree/braintree_graphql_transformers.rs
@@ -9,7 +9,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
unimplemented_payment_method,
};
@@ -119,7 +119,7 @@ impl TryFrom<&BraintreeRouterData<&types::PaymentsAuthorizeRouterData>>
)?;
match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(_) => {
+ domain::PaymentMethodData::Card(_) => {
if item.router_data.is_three_ds() {
Ok(Self::CardThreeDs(BraintreeClientTokenRequest::try_from(
metadata,
@@ -128,19 +128,19 @@ impl TryFrom<&BraintreeRouterData<&types::PaymentsAuthorizeRouterData>>
Ok(Self::Card(CardPaymentRequest::try_from((item, metadata))?))
}
}
- api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("braintree"),
)
@@ -860,7 +860,7 @@ impl TryFrom<&types::TokenizationRouterData> for BraintreeTokenRequest {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(card_data) => {
+ domain::PaymentMethodData::Card(card_data) => {
let query = TOKENIZE_CREDIT_CARD.to_string();
let input = InputData {
credit_card: CreditCardData {
@@ -878,22 +878,24 @@ impl TryFrom<&types::TokenizationRouterData> for BraintreeTokenRequest {
variables: VariableInput { input },
})
}
- api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("braintree"),
- )
- .into()),
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("braintree"),
+ )
+ .into())
+ }
}
}
}
@@ -1406,7 +1408,7 @@ impl TryFrom<&BraintreeRouterData<&types::PaymentsCompleteAuthorizeRouterData>>
fn get_braintree_redirect_form(
client_token_data: ClientTokenResponse,
payment_method_token: types::PaymentMethodToken,
- card_details: api_models::payments::PaymentMethodData,
+ card_details: domain::PaymentMethodData,
) -> Result> {
Ok(services::RedirectForm::Braintree {
client_token: client_token_data
@@ -1423,24 +1425,24 @@ fn get_braintree_redirect_form(
))?,
},
bin: match card_details {
- api_models::payments::PaymentMethodData::Card(card_details) => {
+ domain::PaymentMethodData::Card(card_details) => {
card_details.card_number.get_card_isin()
}
- api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- "given payment method".to_owned(),
- ))?,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => Err(
+ errors::ConnectorError::NotImplemented("given payment method".to_owned()),
+ )?,
},
})
}
diff --git a/crates/router/src/connector/braintree/transformers.rs b/crates/router/src/connector/braintree/transformers.rs
index 4e8a15dfea..d9000ade25 100644
--- a/crates/router/src/connector/braintree/transformers.rs
+++ b/crates/router/src/connector/braintree/transformers.rs
@@ -7,7 +7,7 @@ use crate::{
connector::utils::{self},
consts,
core::errors,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Default, Debug, Serialize, Eq, PartialEq)]
@@ -115,7 +115,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for BraintreePaymentsRequest {
let kind = "sale".to_string();
let payment_method_data_type = match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => Ok(PaymentMethodType::CreditCard(Card {
+ domain::PaymentMethodData::Card(ccard) => Ok(PaymentMethodType::CreditCard(Card {
credit_card: CardDetails {
number: ccard.card_number,
expiration_month: ccard.card_exp_month,
@@ -123,7 +123,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for BraintreePaymentsRequest {
cvv: ccard.card_cvc,
},
})),
- api::PaymentMethodData::Wallet(ref wallet_data) => {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => {
Ok(PaymentMethodType::PaymentMethodNonce(Nonce {
payment_method_nonce: match wallet_data {
api_models::payments::WalletData::PaypalSdk(wallet_data) => {
@@ -162,20 +162,22 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for BraintreePaymentsRequest {
.into(),
}))
}
- api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("braintree"),
- )),
+ domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("braintree"),
+ ))
+ }
}?;
let braintree_transaction_body = TransactionBody {
amount,
diff --git a/crates/router/src/connector/checkout/transformers.rs b/crates/router/src/connector/checkout/transformers.rs
index 1a031eaa7c..899ea345a3 100644
--- a/crates/router/src/connector/checkout/transformers.rs
+++ b/crates/router/src/connector/checkout/transformers.rs
@@ -13,7 +13,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
unimplemented_payment_method,
};
@@ -90,7 +90,7 @@ impl TryFrom<&types::TokenizationRouterData> for TokenRequest {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Wallet(wallet_data) => match wallet_data.clone() {
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data.clone() {
api_models::payments::WalletData::GooglePay(_data) => {
let json_wallet_data: CheckoutGooglePayData =
wallet_data.get_wallet_token_as_json("Google Pay".to_string())?;
@@ -131,19 +131,19 @@ impl TryFrom<&types::TokenizationRouterData> for TokenRequest {
.into())
}
},
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("checkout"),
)
@@ -292,7 +292,7 @@ impl TryFrom<&CheckoutRouterData<&types::PaymentsAuthorizeRouterData>> for Payme
item: &CheckoutRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
let source_var = match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let a = PaymentSource::Card(CardSource {
source_type: CheckoutSourceTypes::Card,
number: ccard.card_number.clone(),
@@ -302,7 +302,7 @@ impl TryFrom<&CheckoutRouterData<&types::PaymentsAuthorizeRouterData>> for Payme
});
Ok(a)
}
- api::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
api_models::payments::WalletData::GooglePay(_) => {
Ok(PaymentSource::Wallets(WalletSource {
source_type: CheckoutSourceTypes::Token,
@@ -374,20 +374,22 @@ impl TryFrom<&CheckoutRouterData<&types::PaymentsAuthorizeRouterData>> for Payme
}
},
- api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("checkout"),
- )),
+ domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("checkout"),
+ ))
+ }
}?;
let authentication_data = item.router_data.request.authentication_data.as_ref();
diff --git a/crates/router/src/connector/cryptopay/transformers.rs b/crates/router/src/connector/cryptopay/transformers.rs
index 707cfd8f06..aaf21af058 100644
--- a/crates/router/src/connector/cryptopay/transformers.rs
+++ b/crates/router/src/connector/cryptopay/transformers.rs
@@ -8,7 +8,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, domain, storage::enums},
};
#[derive(Debug, Serialize)]
@@ -62,7 +62,7 @@ impl TryFrom<&CryptopayRouterData<&types::PaymentsAuthorizeRouterData>>
item: &CryptopayRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
let cryptopay_request = match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Crypto(ref cryptodata) => {
+ domain::PaymentMethodData::Crypto(ref cryptodata) => {
let pay_currency = cryptodata.get_pay_currency()?;
Ok(Self {
price_amount: item.amount.to_owned(),
@@ -74,19 +74,19 @@ impl TryFrom<&CryptopayRouterData<&types::PaymentsAuthorizeRouterData>>
custom_id: item.router_data.connector_request_reference_id.clone(),
})
}
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::MandatePayment {}
- | api_models::payments::PaymentMethodData::Reward {}
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::MandatePayment {}
+ | domain::PaymentMethodData::Reward {}
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("CryptoPay"),
))
diff --git a/crates/router/src/connector/cybersource/transformers.rs b/crates/router/src/connector/cybersource/transformers.rs
index d58f51e1d7..2dc832841c 100644
--- a/crates/router/src/connector/cybersource/transformers.rs
+++ b/crates/router/src/connector/cybersource/transformers.rs
@@ -19,6 +19,7 @@ use crate::{
types::{
self,
api::{self, enums as api_enums},
+ domain,
storage::enums,
transformers::ForeignFrom,
ApplePayPredecryptData,
@@ -98,7 +99,7 @@ impl TryFrom<&types::SetupMandateRouterData> for CybersourceZeroMandateRequest {
};
let (payment_information, solution) = match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let card_issuer = ccard.get_card_issuer();
let card_type = match card_issuer {
Ok(issuer) => Some(String::from(issuer)),
@@ -118,7 +119,7 @@ impl TryFrom<&types::SetupMandateRouterData> for CybersourceZeroMandateRequest {
)
}
- api::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
payments::WalletData::ApplePay(apple_pay_data) => {
match item.payment_method_token.clone() {
Some(payment_method_token) => match payment_method_token {
@@ -195,18 +196,18 @@ impl TryFrom<&types::SetupMandateRouterData> for CybersourceZeroMandateRequest {
utils::get_unimplemented_payment_method_error_message("Cybersource"),
))?,
},
- payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Cybersource"),
))?
@@ -727,14 +728,14 @@ impl ForeignFrom for Vec {
impl
TryFrom<(
&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
)> for CybersourcePaymentsRequest
{
type Error = error_stack::Report;
fn try_from(
(item, ccard): (
&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
),
) -> Result {
let email = item.router_data.request.get_email()?;
@@ -778,14 +779,14 @@ impl
impl
TryFrom<(
&CybersourceRouterData<&types::PaymentsCompleteAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
)> for CybersourcePaymentsRequest
{
type Error = error_stack::Report;
fn try_from(
(item, ccard): (
&CybersourceRouterData<&types::PaymentsCompleteAuthorizeRouterData>,
- payments::Card,
+ domain::Card,
),
) -> Result {
let email = item.router_data.request.get_email()?;
@@ -972,8 +973,8 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>>
Some(connector_mandate_id) => Self::try_from((item, connector_mandate_id)),
None => {
match item.router_data.request.payment_method_data.clone() {
- payments::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
- payments::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
payments::WalletData::ApplePay(apple_pay_data) => {
match item.router_data.payment_method_token.clone() {
Some(payment_method_token) => match payment_method_token {
@@ -1084,7 +1085,7 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>>
},
// If connector_mandate_id is present MandatePayment will be the PMD, the case will be handled in the first `if` clause.
// This is a fallback implementation in the event of catastrophe.
- payments::PaymentMethodData::MandatePayment => {
+ domain::PaymentMethodData::MandatePayment => {
let connector_mandate_id =
item.router_data.request.connector_mandate_id().ok_or(
errors::ConnectorError::MissingRequiredField {
@@ -1093,17 +1094,17 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>>
)?;
Self::try_from((item, connector_mandate_id))
}
- payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Cybersource"),
)
@@ -1168,7 +1169,7 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>>
item: &CybersourceRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data.clone() {
- payments::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let card_issuer = ccard.get_card_issuer();
let card_type = match card_issuer {
Ok(issuer) => Some(String::from(issuer)),
@@ -1189,19 +1190,19 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsAuthorizeRouterData>>
client_reference_information,
})
}
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Cybersource"),
)
@@ -1853,7 +1854,7 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsPreProcessingRouterData>>
},
)?;
let payment_information = match payment_method_data {
- payments::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let card_issuer = ccard.get_card_issuer();
let card_type = match card_issuer {
Ok(issuer) => Some(String::from(issuer)),
@@ -1869,19 +1870,19 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsPreProcessingRouterData>>
},
}))
}
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Cybersource"),
))
@@ -1969,20 +1970,20 @@ impl TryFrom<&CybersourceRouterData<&types::PaymentsCompleteAuthorizeRouterData>
},
)?;
match payment_method_data {
- payments::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Card(ccard) => Self::try_from((item, ccard)),
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Cybersource"),
)
diff --git a/crates/router/src/connector/dlocal/transformers.rs b/crates/router/src/connector/dlocal/transformers.rs
index c1b8731ee8..20997f3a24 100644
--- a/crates/router/src/connector/dlocal/transformers.rs
+++ b/crates/router/src/connector/dlocal/transformers.rs
@@ -9,7 +9,7 @@ use crate::{
connector::utils::{AddressDetailsData, PaymentsAuthorizeRequestData, RouterData},
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Debug, Default, Eq, PartialEq, Serialize)]
@@ -107,7 +107,7 @@ impl TryFrom<&DlocalRouterData<&types::PaymentsAuthorizeRouterData>> for DlocalP
let country = address.get_country()?;
let name = get_payer_name(address);
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
let should_capture = matches!(
item.router_data.request.capture_method,
Some(enums::CaptureMethod::Automatic)
@@ -160,21 +160,25 @@ impl TryFrom<&DlocalRouterData<&types::PaymentsAuthorizeRouterData>> for DlocalP
};
Ok(payment_request)
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- crate::connector::utils::get_unimplemented_payment_method_error_message("Dlocal"),
- ))?,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ crate::connector::utils::get_unimplemented_payment_method_error_message(
+ "Dlocal",
+ ),
+ ))?
+ }
}
}
}
diff --git a/crates/router/src/connector/dummyconnector/transformers.rs b/crates/router/src/connector/dummyconnector/transformers.rs
index 5c20d35358..0d4ff3b850 100644
--- a/crates/router/src/connector/dummyconnector/transformers.rs
+++ b/crates/router/src/connector/dummyconnector/transformers.rs
@@ -6,7 +6,7 @@ use url::Url;
use crate::{
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Debug, Serialize, strum::Display, Eq, PartialEq)]
@@ -83,9 +83,9 @@ pub struct DummyConnectorCard {
cvc: Secret,
}
-impl TryFrom for DummyConnectorCard {
+impl TryFrom for DummyConnectorCard {
type Error = error_stack::Report;
- fn try_from(value: api_models::payments::Card) -> Result {
+ fn try_from(value: domain::Card) -> Result {
Ok(Self {
name: value
.card_holder_name
@@ -153,13 +153,13 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData>
.request
.payment_method_data
{
- api::PaymentMethodData::Card(ref req_card) => {
+ domain::PaymentMethodData::Card(ref req_card) => {
Ok(PaymentMethodData::Card(req_card.clone().try_into()?))
}
- api::PaymentMethodData::Wallet(ref wallet_data) => {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => {
Ok(PaymentMethodData::Wallet(wallet_data.clone().try_into()?))
}
- api::PaymentMethodData::PayLater(ref pay_later_data) => Ok(
+ domain::PaymentMethodData::PayLater(ref pay_later_data) => Ok(
PaymentMethodData::PayLater(pay_later_data.clone().try_into()?),
),
_ => Err(errors::ConnectorError::NotImplemented("Payment methods".to_string()).into()),
diff --git a/crates/router/src/connector/fiserv/transformers.rs b/crates/router/src/connector/fiserv/transformers.rs
index dac2a3b2fb..fcb808c670 100644
--- a/crates/router/src/connector/fiserv/transformers.rs
+++ b/crates/router/src/connector/fiserv/transformers.rs
@@ -9,7 +9,7 @@ use crate::{
},
core::errors,
pii::Secret,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Debug, Serialize)]
@@ -173,7 +173,7 @@ impl TryFrom<&FiservRouterData<&types::PaymentsAuthorizeRouterData>> for FiservP
pos_condition_code: TransactionInteractionPosConditionCode::CardNotPresentEcom,
};
let source = match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
let card = CardData {
card_data: ccard.card_number.clone(),
expiration_month: ccard.card_exp_month.clone(),
@@ -182,19 +182,19 @@ impl TryFrom<&FiservRouterData<&types::PaymentsAuthorizeRouterData>> for FiservP
};
Source::PaymentCard { card }
}
- api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("fiserv"),
))
diff --git a/crates/router/src/connector/forte/transformers.rs b/crates/router/src/connector/forte/transformers.rs
index 00efbefe28..35f003233d 100644
--- a/crates/router/src/connector/forte/transformers.rs
+++ b/crates/router/src/connector/forte/transformers.rs
@@ -7,7 +7,7 @@ use crate::{
self, AddressDetailsData, CardData, PaymentsAuthorizeRequestData, RouterData,
},
core::errors,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
};
#[derive(Debug, Serialize)]
@@ -71,7 +71,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for FortePaymentsRequest {
))?
}
match item.request.payment_method_data {
- api_models::payments::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
let action = match item.request.is_auto_capture()? {
true => ForteAction::Sale,
false => ForteAction::Authorize,
@@ -102,19 +102,19 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for FortePaymentsRequest {
card,
})
}
- api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment {}
- | api_models::payments::PaymentMethodData::Reward {}
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment {}
+ | domain::PaymentMethodData::Reward {}
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Forte"),
))?
diff --git a/crates/router/src/connector/globalpay/transformers.rs b/crates/router/src/connector/globalpay/transformers.rs
index ae6f8d3966..bc39a32220 100644
--- a/crates/router/src/connector/globalpay/transformers.rs
+++ b/crates/router/src/connector/globalpay/transformers.rs
@@ -17,7 +17,7 @@ use crate::{
consts,
core::errors,
services::{self, RedirectForm},
- types::{self, api, storage::enums, ErrorResponse},
+ types::{self, api, domain, storage::enums, ErrorResponse},
};
type Error = error_stack::Report;
@@ -380,7 +380,7 @@ fn get_payment_method_data(
brand_reference: Option,
) -> Result {
match &item.request.payment_method_data {
- api::PaymentMethodData::Card(ccard) => Ok(PaymentMethodData::Card(requests::Card {
+ domain::PaymentMethodData::Card(ccard) => Ok(PaymentMethodData::Card(requests::Card {
number: ccard.card_number.clone(),
expiry_month: ccard.card_exp_month.clone(),
expiry_year: ccard.get_card_expiry_year_2_digit()?,
@@ -396,8 +396,8 @@ fn get_payment_method_data(
tag: None,
track: None,
})),
- api::PaymentMethodData::Wallet(wallet_data) => get_wallet_data(wallet_data),
- api::PaymentMethodData::BankRedirect(bank_redirect) => {
+ domain::PaymentMethodData::Wallet(wallet_data) => get_wallet_data(wallet_data),
+ domain::PaymentMethodData::BankRedirect(bank_redirect) => {
PaymentMethodData::try_from(bank_redirect)
}
_ => Err(errors::ConnectorError::NotImplemented(
@@ -408,7 +408,7 @@ fn get_payment_method_data(
fn get_return_url(item: &types::PaymentsAuthorizeRouterData) -> Option {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Wallet(api_models::payments::WalletData::PaypalRedirect(_)) => {
+ domain::PaymentMethodData::Wallet(api_models::payments::WalletData::PaypalRedirect(_)) => {
item.request.complete_authorize_url.clone()
}
_ => item.request.router_return_url.clone(),
diff --git a/crates/router/src/connector/globepay/transformers.rs b/crates/router/src/connector/globepay/transformers.rs
index c988bff52e..bdb3b6ef5c 100644
--- a/crates/router/src/connector/globepay/transformers.rs
+++ b/crates/router/src/connector/globepay/transformers.rs
@@ -7,7 +7,7 @@ use crate::{
connector::utils::{self, RouterData},
consts,
core::errors,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
type Error = error_stack::Report;
@@ -29,7 +29,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for GlobepayPaymentsRequest {
type Error = Error;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
let channel: GlobepayChannel = match &item.request.payment_method_data {
- api::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
api::WalletData::AliPayQr(_) => GlobepayChannel::Alipay,
api::WalletData::WeChatPayQr(_) => GlobepayChannel::Wechat,
api::WalletData::AliPayRedirect(_)
@@ -59,21 +59,23 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for GlobepayPaymentsRequest {
utils::get_unimplemented_payment_method_error_message("globepay"),
))?,
},
- api::PaymentMethodData::Card(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("globepay"),
- ))?,
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("globepay"),
+ ))?
+ }
};
let description = item.get_description()?;
Ok(Self {
diff --git a/crates/router/src/connector/gocardless/transformers.rs b/crates/router/src/connector/gocardless/transformers.rs
index 21fc44fe84..b8c9f9feee 100644
--- a/crates/router/src/connector/gocardless/transformers.rs
+++ b/crates/router/src/connector/gocardless/transformers.rs
@@ -14,7 +14,8 @@ use crate::{
},
core::errors,
types::{
- self, api, storage::enums, transformers::ForeignTryFrom, MandateReference, ResponseId,
+ self, api, domain, storage::enums, transformers::ForeignTryFrom, MandateReference,
+ ResponseId,
},
};
@@ -79,7 +80,7 @@ impl TryFrom<&types::ConnectorCustomerRouterData> for GocardlessCustomerRequest
fn try_from(item: &types::ConnectorCustomerRouterData) -> Result {
let email = item.request.get_email()?;
let billing_details = match &item.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
match bank_debit_data.clone() {
BankDebitData::AchBankDebit {
billing_details, ..
@@ -97,19 +98,19 @@ impl TryFrom<&types::ConnectorCustomerRouterData> for GocardlessCustomerRequest
}
}
}
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Gocardless"),
))
@@ -284,25 +285,27 @@ impl TryFrom<&types::TokenizationRouterData> for CustomerBankAccount {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match &item.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
Self::try_from(bank_debit_data)
}
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Gocardless"),
- )
- .into()),
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Gocardless"),
+ )
+ .into())
+ }
}
}
}
@@ -465,28 +468,30 @@ impl TryFrom<&types::SetupMandateRouterData> for GocardlessMandateRequest {
type Error = error_stack::Report;
fn try_from(item: &types::SetupMandateRouterData) -> Result {
let (scheme, payer_ip_address) = match &item.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
let payer_ip_address = get_ip_if_required(bank_debit_data, item)?;
Ok((
GocardlessScheme::try_from(bank_debit_data)?,
payer_ip_address,
))
}
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- "Setup Mandate flow for selected payment method through Gocardless".to_string(),
- )),
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ "Setup Mandate flow for selected payment method through Gocardless".to_string(),
+ ))
+ }
}?;
let payment_method_token = item.get_payment_method_token()?;
let customer_bank_account = match payment_method_token {
diff --git a/crates/router/src/connector/helcim/transformers.rs b/crates/router/src/connector/helcim/transformers.rs
index 66cb266603..2dc44c8a19 100644
--- a/crates/router/src/connector/helcim/transformers.rs
+++ b/crates/router/src/connector/helcim/transformers.rs
@@ -10,7 +10,7 @@ use crate::{
RefundsRequestData, RouterData,
},
core::errors,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Debug, Serialize)]
@@ -121,9 +121,11 @@ pub struct HelcimCard {
card_c_v_v: Secret,
}
-impl TryFrom<(&types::SetupMandateRouterData, &api::Card)> for HelcimVerifyRequest {
+impl TryFrom<(&types::SetupMandateRouterData, &domain::Card)> for HelcimVerifyRequest {
type Error = error_stack::Report;
- fn try_from(value: (&types::SetupMandateRouterData, &api::Card)) -> Result {
+ fn try_from(
+ value: (&types::SetupMandateRouterData, &domain::Card),
+ ) -> Result {
let (item, req_card) = value;
let card_data = HelcimCard {
card_expiry: req_card
@@ -157,22 +159,22 @@ impl TryFrom<&types::SetupMandateRouterData> for HelcimVerifyRequest {
type Error = error_stack::Report;
fn try_from(item: &types::SetupMandateRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => Self::try_from((item, &req_card)),
- api_models::payments::PaymentMethodData::BankTransfer(_) => {
+ domain::PaymentMethodData::Card(req_card) => Self::try_from((item, &req_card)),
+ domain::PaymentMethodData::BankTransfer(_) => {
Err(errors::ConnectorError::NotImplemented("Payment Method".to_string()).into())
}
- api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Helcim"),
))?
@@ -184,14 +186,14 @@ impl TryFrom<&types::SetupMandateRouterData> for HelcimVerifyRequest {
impl
TryFrom<(
&HelcimRouterData<&types::PaymentsAuthorizeRouterData>,
- &api::Card,
+ &domain::Card,
)> for HelcimPaymentsRequest
{
type Error = error_stack::Report;
fn try_from(
value: (
&HelcimRouterData<&types::PaymentsAuthorizeRouterData>,
- &api::Card,
+ &domain::Card,
),
) -> Result {
let (item, req_card) = value;
@@ -258,24 +260,26 @@ impl TryFrom<&HelcimRouterData<&types::PaymentsAuthorizeRouterData>> for HelcimP
item: &HelcimRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => Self::try_from((item, &req_card)),
- api_models::payments::PaymentMethodData::BankTransfer(_) => {
+ domain::PaymentMethodData::Card(req_card) => Self::try_from((item, &req_card)),
+ domain::PaymentMethodData::BankTransfer(_) => {
Err(errors::ConnectorError::NotImplemented("Payment Method".to_string()).into())
}
- api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Helcim"),
- ))?,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Helcim"),
+ ))?
+ }
}
}
}
diff --git a/crates/router/src/connector/iatapay/transformers.rs b/crates/router/src/connector/iatapay/transformers.rs
index 0a5f592c76..8e45b96e69 100644
--- a/crates/router/src/connector/iatapay/transformers.rs
+++ b/crates/router/src/connector/iatapay/transformers.rs
@@ -12,7 +12,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, PaymentsAuthorizeData},
+ types::{self, api, domain, storage::enums, PaymentsAuthorizeData},
};
type Error = error_stack::Report;
@@ -149,22 +149,22 @@ impl
};
let return_url = item.router_data.get_return_url()?;
let payer_info = match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Upi(upi_data) => upi_data.vpa_id.map(|id| PayerInfo {
+ domain::PaymentMethodData::Upi(upi_data) => upi_data.vpa_id.map(|id| PayerInfo {
token_id: id.switch_strategy(),
}),
- api::PaymentMethodData::Card(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => None,
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => None,
};
let payload = Self {
merchant_id: IatapayAuthType::try_from(&item.router_data.connector_auth_type)?
diff --git a/crates/router/src/connector/klarna.rs b/crates/router/src/connector/klarna.rs
index 91ef719e5e..0d1a37d1a4 100644
--- a/crates/router/src/connector/klarna.rs
+++ b/crates/router/src/connector/klarna.rs
@@ -1,7 +1,6 @@
pub mod transformers;
use std::fmt::Debug;
-use api_models::payments as api_payments;
use common_utils::request::RequestContent;
use error_stack::{report, ResultExt};
use transformers as klarna;
@@ -21,6 +20,7 @@ use crate::{
types::{
self,
api::{self, ConnectorCommon},
+ domain,
storage::enums as storage_enums,
},
utils::BytesExt,
@@ -307,9 +307,9 @@ impl
.ok_or_else(connector_utils::missing_field_err("payment_method_type"))?;
match payment_method_data {
- api_payments::PaymentMethodData::PayLater(api_payments::PayLaterData::KlarnaSdk {
- token,
- }) => match (payment_experience, payment_method_type) {
+ domain::PaymentMethodData::PayLater(
+ api_models::payments::PayLaterData::KlarnaSdk { token },
+ ) => match (payment_experience, payment_method_type) {
(
storage_enums::PaymentExperience::InvokeSdkClient,
storage_enums::PaymentMethodType::Klarna,
@@ -415,20 +415,20 @@ impl
})),
},
- api_payments::PaymentMethodData::Card(_)
- | api_payments::PaymentMethodData::CardRedirect(_)
- | api_payments::PaymentMethodData::Wallet(_)
- | api_payments::PaymentMethodData::PayLater(_)
- | api_payments::PaymentMethodData::BankRedirect(_)
- | api_payments::PaymentMethodData::BankDebit(_)
- | api_payments::PaymentMethodData::BankTransfer(_)
- | api_payments::PaymentMethodData::Crypto(_)
- | api_payments::PaymentMethodData::MandatePayment
- | api_payments::PaymentMethodData::Reward
- | api_payments::PaymentMethodData::Upi(_)
- | api_payments::PaymentMethodData::Voucher(_)
- | api_payments::PaymentMethodData::GiftCard(_)
- | api_payments::PaymentMethodData::CardToken(_) => Err(error_stack::report!(
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => Err(error_stack::report!(
errors::ConnectorError::MismatchedPaymentData
)),
}
diff --git a/crates/router/src/connector/mollie/transformers.rs b/crates/router/src/connector/mollie/transformers.rs
index 7acf81db29..30856035fd 100644
--- a/crates/router/src/connector/mollie/transformers.rs
+++ b/crates/router/src/connector/mollie/transformers.rs
@@ -13,7 +13,7 @@ use crate::{
},
core::errors,
services, types,
- types::storage::enums as storage_enums,
+ types::{domain, storage::enums as storage_enums},
unimplemented_payment_method,
};
@@ -169,7 +169,7 @@ impl TryFrom<&MollieRouterData<&types::PaymentsAuthorizeRouterData>> for MollieP
{
enums::CaptureMethod::Automatic => {
match &item.router_data.request.payment_method_data {
- api_models::payments::PaymentMethodData::Card(_) => {
+ domain::PaymentMethodData::Card(_) => {
let pm_token = item.router_data.get_payment_method_token()?;
Ok(PaymentMethodData::CreditCard(Box::new(
CreditCardMethodData {
@@ -188,13 +188,13 @@ impl TryFrom<&MollieRouterData<&types::PaymentsAuthorizeRouterData>> for MollieP
},
)))
}
- api_models::payments::PaymentMethodData::BankRedirect(ref redirect_data) => {
+ domain::PaymentMethodData::BankRedirect(ref redirect_data) => {
PaymentMethodData::try_from(redirect_data)
}
- api_models::payments::PaymentMethodData::Wallet(ref wallet_data) => {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => {
get_payment_method_for_wallet(item.router_data, wallet_data)
}
- api_models::payments::PaymentMethodData::BankDebit(ref directdebit_data) => {
+ domain::PaymentMethodData::BankDebit(ref directdebit_data) => {
PaymentMethodData::try_from(directdebit_data)
}
_ => Err(
@@ -287,7 +287,7 @@ impl TryFrom<&types::TokenizationRouterData> for MollieCardTokenRequest {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api_models::payments::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let auth = MollieAuthType::try_from(&item.connector_auth_type)?;
let card_holder = ccard
.card_holder_name
diff --git a/crates/router/src/connector/multisafepay/transformers.rs b/crates/router/src/connector/multisafepay/transformers.rs
index f6051ea05d..8c6d23ca47 100644
--- a/crates/router/src/connector/multisafepay/transformers.rs
+++ b/crates/router/src/connector/multisafepay/transformers.rs
@@ -10,7 +10,7 @@ use crate::{
core::errors,
pii::Secret,
services,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Debug, Serialize)]
@@ -278,9 +278,9 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
item: &MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
let payment_type = match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref _ccard) => Type::Direct,
- api::PaymentMethodData::MandatePayment => Type::Direct,
- api::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Card(ref _ccard) => Type::Direct,
+ domain::PaymentMethodData::MandatePayment => Type::Direct,
+ domain::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
api::WalletData::GooglePay(_) => Type::Direct,
api::WalletData::PaypalRedirect(_) => Type::Redirect,
api::WalletData::AliPayQr(_)
@@ -310,15 +310,15 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
utils::get_unimplemented_payment_method_error_message("multisafepay"),
))?,
},
- api::PaymentMethodData::PayLater(ref _paylater) => Type::Redirect,
+ domain::PaymentMethodData::PayLater(ref _paylater) => Type::Redirect,
_ => Type::Redirect,
};
let gateway = match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
Some(Gateway::try_from(ccard.get_card_issuer()?)?)
}
- api::PaymentMethodData::Wallet(ref wallet_data) => Some(match wallet_data {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => Some(match wallet_data {
api::WalletData::GooglePay(_) => Gateway::Googlepay,
api::WalletData::PaypalRedirect(_) => Gateway::Paypal,
api::WalletData::AliPayQr(_)
@@ -348,26 +348,28 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
utils::get_unimplemented_payment_method_error_message("multisafepay"),
))?,
}),
- api::PaymentMethodData::PayLater(
+ domain::PaymentMethodData::PayLater(
api_models::payments::PayLaterData::KlarnaRedirect {
billing_email: _,
billing_country: _,
},
) => Some(Gateway::Klarna),
- api::PaymentMethodData::MandatePayment => None,
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("multisafepay"),
- ))?,
+ domain::PaymentMethodData::MandatePayment => None,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("multisafepay"),
+ ))?
+ }
};
let description = item.router_data.get_description()?;
let payment_options = PaymentOptions {
@@ -421,7 +423,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
};
let gateway_info = match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => Some(GatewayInfo::Card(CardInfo {
+ domain::PaymentMethodData::Card(ref ccard) => Some(GatewayInfo::Card(CardInfo {
card_number: Some(ccard.card_number.clone()),
card_expiry_date: Some(Secret::new(
(format!(
@@ -438,7 +440,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
moto: None,
term_url: None,
})),
- api::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
api::WalletData::GooglePay(ref google_pay) => {
Some(GatewayInfo::Wallet(WalletInfo::GooglePay({
GpayInfo {
@@ -476,7 +478,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
utils::get_unimplemented_payment_method_error_message("multisafepay"),
))?,
},
- api::PaymentMethodData::PayLater(ref paylater) => {
+ domain::PaymentMethodData::PayLater(ref paylater) => {
Some(GatewayInfo::PayLater(PayLaterInfo {
email: Some(match paylater {
api_models::payments::PayLaterData::KlarnaRedirect {
@@ -502,19 +504,21 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
}),
}))
}
- api::PaymentMethodData::MandatePayment => None,
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("multisafepay"),
- ))?,
+ domain::PaymentMethodData::MandatePayment => None,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("multisafepay"),
+ ))?
+ }
};
Ok(Self {
diff --git a/crates/router/src/connector/nexinets/transformers.rs b/crates/router/src/connector/nexinets/transformers.rs
index 703c24e56e..210910d3e7 100644
--- a/crates/router/src/connector/nexinets/transformers.rs
+++ b/crates/router/src/connector/nexinets/transformers.rs
@@ -1,7 +1,7 @@
-use api_models::payments::PaymentMethodData;
use base64::Engine;
use cards::CardNumber;
use common_utils::errors::CustomResult;
+use domain::PaymentMethodData;
use error_stack::ResultExt;
use masking::{ExposeInterface, PeekInterface, Secret};
use serde::{Deserialize, Serialize};
@@ -14,7 +14,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
};
#[derive(Debug, Serialize)]
@@ -633,7 +633,7 @@ fn get_payment_details_and_product(
fn get_card_data(
item: &types::PaymentsAuthorizeRouterData,
- card: &api_models::payments::Card,
+ card: &domain::payments::Card,
) -> Result {
let (card_data, cof_contract) = match item.request.is_mandate_payment() {
true => {
@@ -676,7 +676,7 @@ fn get_applepay_details(
}
fn get_card_details(
- req_card: &api_models::payments::Card,
+ req_card: &domain::payments::Card,
) -> Result {
Ok(CardDetails {
card_number: req_card.card_number.clone(),
diff --git a/crates/router/src/connector/nmi/transformers.rs b/crates/router/src/connector/nmi/transformers.rs
index 2358e0f6cc..79e71ca72d 100644
--- a/crates/router/src/connector/nmi/transformers.rs
+++ b/crates/router/src/connector/nmi/transformers.rs
@@ -17,7 +17,7 @@ use crate::{
},
core::errors,
services,
- types::{self, api, storage::enums, transformers::ForeignFrom, ConnectorAuthType},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom, ConnectorAuthType},
};
type Error = Report;
@@ -136,10 +136,10 @@ impl TryFrom<&types::PaymentsPreProcessingRouterData> for NmiVaultRequest {
}
fn get_card_details(
- payment_method_data: Option,
+ payment_method_data: Option,
) -> CustomResult<(CardNumber, Secret, Secret), errors::ConnectorError> {
match payment_method_data {
- Some(api::PaymentMethodData::Card(ref card_details)) => Ok((
+ Some(domain::PaymentMethodData::Card(ref card_details)) => Ok((
card_details.card_number.clone(),
utils::CardData::get_card_expiry_month_year_2_digit_with_delimiter(
card_details,
@@ -513,14 +513,12 @@ impl TryFrom<&NmiRouterData<&types::PaymentsAuthorizeRouterData>> for NmiPayment
}
}
-impl TryFrom<&api_models::payments::PaymentMethodData> for PaymentMethod {
+impl TryFrom<&domain::PaymentMethodData> for PaymentMethod {
type Error = Error;
- fn try_from(
- payment_method_data: &api_models::payments::PaymentMethodData,
- ) -> Result {
+ fn try_from(payment_method_data: &domain::PaymentMethodData) -> Result {
match &payment_method_data {
- api::PaymentMethodData::Card(ref card) => Ok(Self::try_from(card)?),
- api::PaymentMethodData::Wallet(ref wallet_type) => match wallet_type {
+ domain::PaymentMethodData::Card(ref card) => Ok(Self::try_from(card)?),
+ domain::PaymentMethodData::Wallet(ref wallet_type) => match wallet_type {
api_models::payments::WalletData::GooglePay(ref googlepay_data) => {
Ok(Self::from(googlepay_data))
}
@@ -557,28 +555,30 @@ impl TryFrom<&api_models::payments::PaymentMethodData> for PaymentMethod {
.into())
}
},
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("nmi"),
- )
- .into()),
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("nmi"),
+ )
+ .into())
+ }
}
}
}
-impl TryFrom<&api_models::payments::Card> for PaymentMethod {
+impl TryFrom<&domain::payments::Card> for PaymentMethod {
type Error = Error;
- fn try_from(card: &api_models::payments::Card) -> Result {
+ fn try_from(card: &domain::payments::Card) -> Result {
let ccexp = utils::CardData::get_card_expiry_month_year_2_digit_with_delimiter(
card,
"".to_string(),
diff --git a/crates/router/src/connector/noon/transformers.rs b/crates/router/src/connector/noon/transformers.rs
index 38202291b4..c2031fd895 100644
--- a/crates/router/src/connector/noon/transformers.rs
+++ b/crates/router/src/connector/noon/transformers.rs
@@ -10,7 +10,7 @@ use crate::{
},
core::{errors, mandate::MandateBehaviour},
services,
- types::{self, api, storage::enums, transformers::ForeignFrom, ErrorResponse},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom, ErrorResponse},
};
// These needs to be accepted from SDK, need to be done after 1.0.0 stability as API contract will change
@@ -239,14 +239,16 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for NoonPaymentsRequest {
),
_ => (
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => Ok(NoonPaymentData::Card(NoonCard {
- name_on_card: req_card.card_holder_name.clone(),
- number_plain: req_card.card_number.clone(),
- expiry_month: req_card.card_exp_month.clone(),
- expiry_year: req_card.get_expiry_year_4_digit(),
- cvv: req_card.card_cvc,
- })),
- api::PaymentMethodData::Wallet(wallet_data) => match wallet_data.clone() {
+ domain::PaymentMethodData::Card(req_card) => {
+ Ok(NoonPaymentData::Card(NoonCard {
+ name_on_card: req_card.card_holder_name.clone(),
+ number_plain: req_card.card_number.clone(),
+ expiry_month: req_card.card_exp_month.clone(),
+ expiry_year: req_card.get_expiry_year_4_digit(),
+ cvv: req_card.card_cvc,
+ }))
+ }
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data.clone() {
api_models::payments::WalletData::GooglePay(google_pay_data) => {
Ok(NoonPaymentData::GooglePay(NoonGooglePay {
api_version_minor: GOOGLEPAY_API_VERSION_MINOR,
@@ -312,18 +314,18 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for NoonPaymentsRequest {
))
}
},
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment {}
- | api::PaymentMethodData::Reward {}
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment {}
+ | domain::PaymentMethodData::Reward {}
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
conn_utils::get_unimplemented_payment_method_error_message("Noon"),
))
diff --git a/crates/router/src/connector/nuvei/transformers.rs b/crates/router/src/connector/nuvei/transformers.rs
index 6753dfe203..00da2b9ae5 100644
--- a/crates/router/src/connector/nuvei/transformers.rs
+++ b/crates/router/src/connector/nuvei/transformers.rs
@@ -20,7 +20,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, transformers::ForeignTryFrom, BrowserInformation},
+ types::{self, api, domain, storage::enums, transformers::ForeignTryFrom, BrowserInformation},
utils::OptionExt,
};
@@ -424,11 +424,12 @@ impl
}
}
-#[derive(Debug, Default)]
+#[derive(Debug)]
pub struct NuveiCardDetails {
- card: payments::Card,
+ card: domain::Card,
three_d: Option,
}
+
impl TryFrom for NuveiPaymentsRequest {
type Error = error_stack::Report;
fn try_from(gpay_data: payments::GooglePayWalletData) -> Result {
@@ -748,9 +749,9 @@ impl
) -> Result {
let item = data.0;
let request_data = match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(card) => get_card_info(item, &card),
- api::PaymentMethodData::MandatePayment => Self::try_from(item),
- api::PaymentMethodData::Wallet(wallet) => match wallet {
+ domain::PaymentMethodData::Card(card) => get_card_info(item, &card),
+ domain::PaymentMethodData::MandatePayment => Self::try_from(item),
+ domain::PaymentMethodData::Wallet(wallet) => match wallet {
payments::WalletData::GooglePay(gpay_data) => Self::try_from(gpay_data),
payments::WalletData::ApplePay(apple_pay_data) => Ok(Self::from(apple_pay_data)),
payments::WalletData::PaypalRedirect(_) => Self::foreign_try_from((
@@ -787,7 +788,7 @@ impl
.into())
}
},
- api::PaymentMethodData::BankRedirect(redirect) => match redirect {
+ domain::PaymentMethodData::BankRedirect(redirect) => match redirect {
payments::BankRedirectData::Eps { .. } => Self::foreign_try_from((
AlternativePaymentMethodType::Eps,
Some(redirect),
@@ -827,7 +828,7 @@ impl
.into())
}
},
- api::PaymentMethodData::PayLater(pay_later_data) => match pay_later_data {
+ domain::PaymentMethodData::PayLater(pay_later_data) => match pay_later_data {
payments::PayLaterData::KlarnaRedirect { .. } => {
get_pay_later_info(AlternativePaymentMethodType::Klarna, item)
}
@@ -846,15 +847,15 @@ impl
.into())
}
},
- payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("nuvei"),
)
@@ -890,7 +891,7 @@ impl
fn get_card_info(
item: &types::RouterData,
- card_details: &payments::Card,
+ card_details: &domain::Card,
) -> Result> {
let browser_information = item.request.browser_info.clone();
let related_transaction_id = if item.is_three_ds() {
@@ -1026,26 +1027,26 @@ impl TryFrom<(&types::PaymentsCompleteAuthorizeRouterData, Secret)>
) -> Result {
let item = data.0;
let request_data = match item.request.payment_method_data.clone() {
- Some(api::PaymentMethodData::Card(card)) => Ok(Self {
+ Some(domain::PaymentMethodData::Card(card)) => Ok(Self {
payment_option: PaymentOption::from(NuveiCardDetails {
card,
three_d: None,
}),
..Default::default()
}),
- Some(api::PaymentMethodData::Wallet(..))
- | Some(api::PaymentMethodData::PayLater(..))
- | Some(api::PaymentMethodData::BankDebit(..))
- | Some(api::PaymentMethodData::BankRedirect(..))
- | Some(api::PaymentMethodData::BankTransfer(..))
- | Some(api::PaymentMethodData::Crypto(..))
- | Some(api::PaymentMethodData::MandatePayment)
- | Some(api::PaymentMethodData::GiftCard(..))
- | Some(api::PaymentMethodData::Voucher(..))
- | Some(api::PaymentMethodData::CardRedirect(..))
- | Some(api::PaymentMethodData::Reward)
- | Some(api::PaymentMethodData::Upi(..))
- | Some(api::PaymentMethodData::CardToken(..))
+ Some(domain::PaymentMethodData::Wallet(..))
+ | Some(domain::PaymentMethodData::PayLater(..))
+ | Some(domain::PaymentMethodData::BankDebit(..))
+ | Some(domain::PaymentMethodData::BankRedirect(..))
+ | Some(domain::PaymentMethodData::BankTransfer(..))
+ | Some(domain::PaymentMethodData::Crypto(..))
+ | Some(domain::PaymentMethodData::MandatePayment)
+ | Some(domain::PaymentMethodData::GiftCard(..))
+ | Some(domain::PaymentMethodData::Voucher(..))
+ | Some(domain::PaymentMethodData::CardRedirect(..))
+ | Some(domain::PaymentMethodData::Reward)
+ | Some(domain::PaymentMethodData::Upi(..))
+ | Some(domain::PaymentMethodData::CardToken(..))
| None => Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("nuvei"),
)),
diff --git a/crates/router/src/connector/opayo/transformers.rs b/crates/router/src/connector/opayo/transformers.rs
index 94ab62b4f7..008643f143 100644
--- a/crates/router/src/connector/opayo/transformers.rs
+++ b/crates/router/src/connector/opayo/transformers.rs
@@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize};
use crate::{
connector::utils::{self, PaymentsAuthorizeRequestData},
core::errors,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
#[derive(Default, Debug, Serialize, Eq, PartialEq)]
@@ -27,7 +27,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for OpayoPaymentsRequest {
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => {
+ domain::PaymentMethodData::Card(req_card) => {
let card = OpayoCard {
name: req_card
.card_holder_name
@@ -43,22 +43,24 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for OpayoPaymentsRequest {
card,
})
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Opayo"),
- )
- .into()),
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Opayo"),
+ )
+ .into())
+ }
}
}
}
diff --git a/crates/router/src/connector/payeezy/transformers.rs b/crates/router/src/connector/payeezy/transformers.rs
index 6d5d6db9dc..2b19b10b43 100644
--- a/crates/router/src/connector/payeezy/transformers.rs
+++ b/crates/router/src/connector/payeezy/transformers.rs
@@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize};
use crate::{
connector::utils::{self, CardData},
core::errors,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
};
#[derive(Debug, Serialize)]
pub struct PayeezyRouterData {
@@ -237,7 +237,7 @@ fn get_payment_method_data(
item: &PayeezyRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result> {
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref card) => {
+ domain::PaymentMethodData::Card(ref card) => {
let card_type = PayeezyCardType::try_from(card.get_card_issuer()?)?;
let payeezy_card = PayeezyCard {
card_type,
@@ -252,19 +252,19 @@ fn get_payment_method_data(
Ok(PayeezyPaymentMethod::PayeezyCard(payeezy_card))
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Payeezy"),
))?,
}
diff --git a/crates/router/src/connector/payme/transformers.rs b/crates/router/src/connector/payme/transformers.rs
index b577ae9f20..d3b9e72e98 100644
--- a/crates/router/src/connector/payme/transformers.rs
+++ b/crates/router/src/connector/payme/transformers.rs
@@ -1,9 +1,6 @@
use std::collections::HashMap;
-use api_models::{
- enums::{AuthenticationType, PaymentMethod},
- payments::PaymentMethodData,
-};
+use api_models::enums::{AuthenticationType, PaymentMethod};
use common_utils::pii;
use error_stack::ResultExt;
use masking::{ExposeInterface, Secret};
@@ -20,7 +17,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, MandateReference},
+ types::{self, api, domain, domain::PaymentMethodData, storage::enums, MandateReference},
unimplemented_payment_method,
};
@@ -640,7 +637,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for PayRequest {
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => {
+ domain::PaymentMethodData::Card(req_card) => {
let card = PaymeCard {
credit_card_cvv: req_card.card_cvc.clone(),
credit_card_exp: req_card
@@ -662,21 +659,23 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for PayRequest {
language: LANGUAGE.to_string(),
})
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("payme"),
- ))?,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("payme"),
+ ))?
+ }
}
}
}
@@ -689,7 +688,7 @@ impl TryFrom<&types::PaymentsCompleteAuthorizeRouterData> for Pay3dsRequest {
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsCompleteAuthorizeRouterData) -> Result {
match item.request.payment_method_data.clone() {
- Some(api::PaymentMethodData::Card(_)) => {
+ Some(domain::PaymentMethodData::Card(_)) => {
let buyer_email = item.request.get_email()?;
let buyer_name = item.get_billing_address()?.get_full_name()?;
@@ -720,19 +719,19 @@ impl TryFrom<&types::PaymentsCompleteAuthorizeRouterData> for Pay3dsRequest {
meta_data_jwt: Secret::new(jwt_data.meta_data),
})
}
- Some(api::PaymentMethodData::CardRedirect(_))
- | Some(api::PaymentMethodData::Wallet(_))
- | Some(api::PaymentMethodData::PayLater(_))
- | Some(api::PaymentMethodData::BankRedirect(_))
- | Some(api::PaymentMethodData::BankDebit(_))
- | Some(api::PaymentMethodData::BankTransfer(_))
- | Some(api::PaymentMethodData::Crypto(_))
- | Some(api::PaymentMethodData::MandatePayment)
- | Some(api::PaymentMethodData::Reward)
- | Some(api::PaymentMethodData::Upi(_))
- | Some(api::PaymentMethodData::Voucher(_))
- | Some(api::PaymentMethodData::GiftCard(_))
- | Some(api::PaymentMethodData::CardToken(_))
+ Some(domain::PaymentMethodData::CardRedirect(_))
+ | Some(domain::PaymentMethodData::Wallet(_))
+ | Some(domain::PaymentMethodData::PayLater(_))
+ | Some(domain::PaymentMethodData::BankRedirect(_))
+ | Some(domain::PaymentMethodData::BankDebit(_))
+ | Some(domain::PaymentMethodData::BankTransfer(_))
+ | Some(domain::PaymentMethodData::Crypto(_))
+ | Some(domain::PaymentMethodData::MandatePayment)
+ | Some(domain::PaymentMethodData::Reward)
+ | Some(domain::PaymentMethodData::Upi(_))
+ | Some(domain::PaymentMethodData::Voucher(_))
+ | Some(domain::PaymentMethodData::GiftCard(_))
+ | Some(domain::PaymentMethodData::CardToken(_))
| None => {
Err(errors::ConnectorError::NotImplemented("Tokenize Flow".to_string()).into())
}
@@ -744,7 +743,7 @@ impl TryFrom<&types::TokenizationRouterData> for CaptureBuyerRequest {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(req_card) => {
+ domain::PaymentMethodData::Card(req_card) => {
let seller_payme_id =
PaymeAuthType::try_from(&item.connector_auth_type)?.seller_payme_id;
let card = PaymeCard {
@@ -758,19 +757,19 @@ impl TryFrom<&types::TokenizationRouterData> for CaptureBuyerRequest {
seller_payme_id,
})
}
- api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented("Tokenize Flow".to_string()).into())
}
}
diff --git a/crates/router/src/connector/paypal/transformers.rs b/crates/router/src/connector/paypal/transformers.rs
index 439184cafc..aff3be9bd2 100644
--- a/crates/router/src/connector/paypal/transformers.rs
+++ b/crates/router/src/connector/paypal/transformers.rs
@@ -16,8 +16,8 @@ use crate::{
core::errors,
services,
types::{
- self, api, storage::enums as storage_enums, transformers::ForeignFrom, ConnectorAuthType,
- VerifyWebhookSourceResponseData,
+ self, api, domain, storage::enums as storage_enums, transformers::ForeignFrom,
+ ConnectorAuthType, VerifyWebhookSourceResponseData,
},
};
@@ -425,7 +425,7 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP
PaypalAuthType::try_from(&item.router_data.connector_auth_type)?;
let payee = get_payee(&paypal_auth);
match item.router_data.request.payment_method_data {
- api_models::payments::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
let intent = if item.router_data.request.is_auto_capture()? {
PaypalPaymentIntent::Capture
} else {
@@ -476,7 +476,7 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP
payment_source,
})
}
- api::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
api_models::payments::WalletData::PaypalRedirect(_) => {
let intent = if item.router_data.request.is_auto_capture()? {
PaypalPaymentIntent::Capture
@@ -553,7 +553,7 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP
))?
}
},
- api::PaymentMethodData::BankRedirect(ref bank_redirection_data) => {
+ domain::PaymentMethodData::BankRedirect(ref bank_redirection_data) => {
let intent = if item.router_data.request.is_auto_capture()? {
PaypalPaymentIntent::Capture
} else {
@@ -586,34 +586,30 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP
payment_source,
})
}
- api_models::payments::PaymentMethodData::CardRedirect(ref card_redirect_data) => {
+ domain::PaymentMethodData::CardRedirect(ref card_redirect_data) => {
Self::try_from(card_redirect_data)
}
- api_models::payments::PaymentMethodData::PayLater(ref paylater_data) => {
- Self::try_from(paylater_data)
- }
- api_models::payments::PaymentMethodData::BankDebit(ref bank_debit_data) => {
+ domain::PaymentMethodData::PayLater(ref paylater_data) => Self::try_from(paylater_data),
+ domain::PaymentMethodData::BankDebit(ref bank_debit_data) => {
Self::try_from(bank_debit_data)
}
- api_models::payments::PaymentMethodData::BankTransfer(ref bank_transfer_data) => {
+ domain::PaymentMethodData::BankTransfer(ref bank_transfer_data) => {
Self::try_from(bank_transfer_data.as_ref())
}
- api_models::payments::PaymentMethodData::Voucher(ref voucher_data) => {
- Self::try_from(voucher_data)
- }
- api_models::payments::PaymentMethodData::GiftCard(ref giftcard_data) => {
+ domain::PaymentMethodData::Voucher(ref voucher_data) => Self::try_from(voucher_data),
+ domain::PaymentMethodData::GiftCard(ref giftcard_data) => {
Self::try_from(giftcard_data.as_ref())
}
- api_models::payments::PaymentMethodData::MandatePayment => {
+ domain::PaymentMethodData::MandatePayment => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Paypal"),
)
.into())
}
- api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Paypal"),
)
@@ -623,14 +619,14 @@ impl TryFrom<&PaypalRouterData<&types::PaymentsAuthorizeRouterData>> for PaypalP
}
}
-impl TryFrom<&api_models::payments::CardRedirectData> for PaypalPaymentsRequest {
+impl TryFrom<&domain::payments::CardRedirectData> for PaypalPaymentsRequest {
type Error = error_stack::Report;
- fn try_from(value: &api_models::payments::CardRedirectData) -> Result {
+ fn try_from(value: &domain::payments::CardRedirectData) -> Result {
match value {
- api_models::payments::CardRedirectData::Knet {}
- | api_models::payments::CardRedirectData::Benefit {}
- | api_models::payments::CardRedirectData::MomoAtm {}
- | api_models::payments::CardRedirectData::CardRedirect {} => {
+ domain::payments::CardRedirectData::Knet {}
+ | domain::payments::CardRedirectData::Benefit {}
+ | domain::payments::CardRedirectData::MomoAtm {}
+ | domain::payments::CardRedirectData::CardRedirect {} => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Paypal"),
)
diff --git a/crates/router/src/connector/payu/transformers.rs b/crates/router/src/connector/payu/transformers.rs
index 9484749ff2..93add6f296 100644
--- a/crates/router/src/connector/payu/transformers.rs
+++ b/crates/router/src/connector/payu/transformers.rs
@@ -8,7 +8,7 @@ use crate::{
consts,
core::errors,
pii::Secret,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
const WALLET_IDENTIFIER: &str = "PBL";
@@ -70,7 +70,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for PayuPaymentsRequest {
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
let auth_type = PayuAuthType::try_from(&item.connector_auth_type)?;
let payment_method = match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => Ok(PayuPaymentMethod {
+ domain::PaymentMethodData::Card(ccard) => Ok(PayuPaymentMethod {
pay_method: PayuPaymentMethodData::Card(PayuCard::Card {
number: ccard.card_number,
expiration_month: ccard.card_exp_month,
@@ -78,7 +78,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for PayuPaymentsRequest {
cvv: ccard.card_cvc,
}),
}),
- api::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
+ domain::PaymentMethodData::Wallet(wallet_data) => match wallet_data {
api_models::payments::WalletData::GooglePay(data) => Ok(PayuPaymentMethod {
pay_method: PayuPaymentMethodData::Wallet({
PayuWallet {
diff --git a/crates/router/src/connector/placetopay/transformers.rs b/crates/router/src/connector/placetopay/transformers.rs
index 152e315de1..6ad3d3c203 100644
--- a/crates/router/src/connector/placetopay/transformers.rs
+++ b/crates/router/src/connector/placetopay/transformers.rs
@@ -1,4 +1,3 @@
-use api_models::payments;
use common_utils::date_time;
use diesel_models::enums;
use error_stack::ResultExt;
@@ -13,7 +12,7 @@ use crate::{
},
consts,
core::errors,
- types::{self, api, storage::enums as storage_enums},
+ types::{self, api, domain, storage::enums as storage_enums},
};
pub struct PlacetopayRouterData {
@@ -126,7 +125,7 @@ impl TryFrom<&PlacetopayRouterData<&types::PaymentsAuthorizeRouterData>>
},
};
match item.router_data.request.payment_method_data.clone() {
- payments::PaymentMethodData::Card(req_card) => {
+ domain::PaymentMethodData::Card(req_card) => {
let card = PlacetopayCard {
number: req_card.card_number.clone(),
expiration: req_card
@@ -144,19 +143,19 @@ impl TryFrom<&PlacetopayRouterData<&types::PaymentsAuthorizeRouterData>>
},
})
}
- payments::PaymentMethodData::Wallet(_)
- | payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankRedirect(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::BankTransfer(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::Voucher(_)
- | payments::PaymentMethodData::GiftCard(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Placetopay"),
)
diff --git a/crates/router/src/connector/powertranz/transformers.rs b/crates/router/src/connector/powertranz/transformers.rs
index 26a8e4fc69..b8c20cf0fc 100644
--- a/crates/router/src/connector/powertranz/transformers.rs
+++ b/crates/router/src/connector/powertranz/transformers.rs
@@ -1,4 +1,3 @@
-use api_models::payments::Card;
use common_utils::pii::{Email, IpAddress};
use diesel_models::enums::RefundStatus;
use masking::{ExposeInterface, Secret};
@@ -10,7 +9,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
};
const ISO_SUCCESS_CODES: [&str; 7] = ["00", "3D0", "3D1", "HP0", "TK0", "SP4", "FC0"];
@@ -100,24 +99,26 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for PowertranzPaymentsRequest
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
let source = match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(card) => Source::try_from(&card),
- api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotSupported {
- message: utils::SELECTED_PAYMENT_METHOD.to_string(),
- connector: "powertranz",
+ domain::PaymentMethodData::Card(card) => Source::try_from(&card),
+ domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotSupported {
+ message: utils::SELECTED_PAYMENT_METHOD.to_string(),
+ connector: "powertranz",
+ }
+ .into())
}
- .into()),
}?;
// let billing_address = get_address_details(&item.address.billing, &item.request.email);
// let shipping_address = get_address_details(&item.address.shipping, &item.request.email);
@@ -212,9 +213,9 @@ impl TryFrom<&types::BrowserInformation> for BrowserInfo {
})
}*/
-impl TryFrom<&Card> for Source {
+impl TryFrom<&domain::Card> for Source {
type Error = error_stack::Report;
- fn try_from(card: &Card) -> Result {
+ fn try_from(card: &domain::Card) -> Result {
let card = PowertranzCard {
cardholder_name: card
.card_holder_name
diff --git a/crates/router/src/connector/prophetpay/transformers.rs b/crates/router/src/connector/prophetpay/transformers.rs
index 06d23af33a..570bf8d2b3 100644
--- a/crates/router/src/connector/prophetpay/transformers.rs
+++ b/crates/router/src/connector/prophetpay/transformers.rs
@@ -11,7 +11,7 @@ use crate::{
consts as const_val,
core::errors,
services,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
};
pub struct ProphetpayRouterData {
@@ -136,8 +136,8 @@ impl TryFrom<&ProphetpayRouterData<&types::PaymentsAuthorizeRouterData>>
) -> Result {
if item.router_data.request.currency == api_models::enums::Currency::USD {
match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::CardRedirect(
- api_models::payments::CardRedirectData::CardRedirect {},
+ domain::PaymentMethodData::CardRedirect(
+ domain::payments::CardRedirectData::CardRedirect {},
) => {
let auth_data =
ProphetpayAuthType::try_from(&item.router_data.connector_auth_type)?;
diff --git a/crates/router/src/connector/rapyd/transformers.rs b/crates/router/src/connector/rapyd/transformers.rs
index d51a322635..5d46148b01 100644
--- a/crates/router/src/connector/rapyd/transformers.rs
+++ b/crates/router/src/connector/rapyd/transformers.rs
@@ -9,7 +9,7 @@ use crate::{
core::errors,
pii::Secret,
services,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
utils::OptionExt,
};
@@ -124,7 +124,7 @@ impl TryFrom<&RapydRouterData<&types::PaymentsAuthorizeRouterData>> for RapydPay
_ => (None, None),
};
let payment_method = match item.router_data.request.payment_method_data {
- api_models::payments::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
Some(PaymentMethod {
pm_type: "in_amex_card".to_owned(), //[#369] Map payment method type based on country
fields: Some(PaymentFields {
@@ -141,7 +141,7 @@ impl TryFrom<&RapydRouterData<&types::PaymentsAuthorizeRouterData>> for RapydPay
digital_wallet: None,
})
}
- api_models::payments::PaymentMethodData::Wallet(ref wallet_data) => {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => {
let digital_wallet = match wallet_data {
api_models::payments::WalletData::GooglePay(data) => Some(RapydWallet {
payment_type: "google_pay".to_string(),
diff --git a/crates/router/src/connector/shift4/transformers.rs b/crates/router/src/connector/shift4/transformers.rs
index 416dd8fd9d..72a8e299b9 100644
--- a/crates/router/src/connector/shift4/transformers.rs
+++ b/crates/router/src/connector/shift4/transformers.rs
@@ -13,7 +13,7 @@ use crate::{
},
core::errors,
pii, services,
- types::{self, api, storage::enums, transformers::ForeignFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignFrom},
};
type Error = error_stack::Report;
@@ -148,26 +148,26 @@ impl TryFrom<&types::RouterData,
) -> Result {
match item.request.payment_method_data {
- payments::PaymentMethodData::Card(ref ccard) => Self::try_from((item, ccard)),
- payments::PaymentMethodData::BankRedirect(ref redirect) => {
+ domain::PaymentMethodData::Card(ref ccard) => Self::try_from((item, ccard)),
+ domain::PaymentMethodData::BankRedirect(ref redirect) => {
Self::try_from((item, redirect))
}
- payments::PaymentMethodData::Wallet(ref wallet_data) => Self::try_from(wallet_data),
- payments::PaymentMethodData::BankTransfer(ref bank_transfer_data) => {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => Self::try_from(wallet_data),
+ domain::PaymentMethodData::BankTransfer(ref bank_transfer_data) => {
Self::try_from(bank_transfer_data.as_ref())
}
- payments::PaymentMethodData::Voucher(ref voucher_data) => Self::try_from(voucher_data),
- payments::PaymentMethodData::GiftCard(ref giftcard_data) => {
+ domain::PaymentMethodData::Voucher(ref voucher_data) => Self::try_from(voucher_data),
+ domain::PaymentMethodData::GiftCard(ref giftcard_data) => {
Self::try_from(giftcard_data.as_ref())
}
- payments::PaymentMethodData::CardRedirect(_)
- | payments::PaymentMethodData::PayLater(_)
- | payments::PaymentMethodData::BankDebit(_)
- | payments::PaymentMethodData::Crypto(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::Reward
- | payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Shift4"),
)
@@ -282,14 +282,14 @@ impl TryFrom<&api_models::payments::GiftCardData> for Shift4PaymentMethod {
impl
TryFrom<(
&types::RouterData,
- &api_models::payments::Card,
+ &domain::Card,
)> for Shift4PaymentMethod
{
type Error = Error;
fn try_from(
(item, card): (
&types::RouterData,
- &api_models::payments::Card,
+ &domain::Card,
),
) -> Result {
let card_object = Card {
@@ -356,7 +356,7 @@ impl TryFrom<&types::RouterData,
) -> Result {
match &item.request.payment_method_data {
- Some(api::PaymentMethodData::Card(_)) => {
+ Some(domain::PaymentMethodData::Card(_)) => {
let card_token: Shift4CardToken =
to_connector_meta(item.request.connector_meta.clone())?;
Ok(Self {
@@ -371,19 +371,19 @@ impl TryFrom<&types::RouterData Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Shift4"),
)
diff --git a/crates/router/src/connector/square/transformers.rs b/crates/router/src/connector/square/transformers.rs
index 064e845740..eb44cb2c91 100644
--- a/crates/router/src/connector/square/transformers.rs
+++ b/crates/router/src/connector/square/transformers.rs
@@ -7,7 +7,7 @@ use crate::{
connector::utils::{self, CardData, PaymentsAuthorizeRequestData, RouterData},
core::errors,
types::{
- self, api,
+ self, api, domain,
storage::{self, enums},
},
unimplemented_payment_method,
@@ -30,10 +30,10 @@ impl TryFrom<(&types::TokenizationRouterData, BankDebitData)> for SquareTokenReq
}
}
-impl TryFrom<(&types::TokenizationRouterData, api_models::payments::Card)> for SquareTokenRequest {
+impl TryFrom<(&types::TokenizationRouterData, domain::Card)> for SquareTokenRequest {
type Error = error_stack::Report;
fn try_from(
- value: (&types::TokenizationRouterData, api_models::payments::Card),
+ value: (&types::TokenizationRouterData, domain::Card),
) -> Result {
let (item, card_data) = value;
let auth = SquareAuthType::try_from(&item.connector_auth_type)
@@ -153,26 +153,28 @@ impl TryFrom<&types::TokenizationRouterData> for SquareTokenRequest {
type Error = error_stack::Report;
fn try_from(item: &types::TokenizationRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
Self::try_from((item, bank_debit_data))
}
- api::PaymentMethodData::Card(card_data) => Self::try_from((item, card_data)),
- api::PaymentMethodData::Wallet(wallet_data) => Self::try_from((item, wallet_data)),
- api::PaymentMethodData::PayLater(pay_later_data) => {
+ domain::PaymentMethodData::Card(card_data) => Self::try_from((item, card_data)),
+ domain::PaymentMethodData::Wallet(wallet_data) => Self::try_from((item, wallet_data)),
+ domain::PaymentMethodData::PayLater(pay_later_data) => {
Self::try_from((item, pay_later_data))
}
- api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Square"),
- ))?,
+ domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Square"),
+ ))?
+ }
}
}
}
@@ -250,7 +252,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for SquarePaymentsRequest {
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
let autocomplete = item.request.is_auto_capture()?;
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(_) => {
+ domain::PaymentMethodData::Card(_) => {
let pm_token = item.get_payment_method_token()?;
Ok(Self {
idempotency_key: Secret::new(item.attempt_id.clone()),
@@ -271,21 +273,23 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for SquarePaymentsRequest {
},
})
}
- api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Square"),
- ))?,
+ domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Square"),
+ ))?
+ }
}
}
}
diff --git a/crates/router/src/connector/stax/transformers.rs b/crates/router/src/connector/stax/transformers.rs
index 1d7cc63a93..b8ba6416a0 100644
--- a/crates/router/src/connector/stax/transformers.rs
+++ b/crates/router/src/connector/stax/transformers.rs
@@ -8,7 +8,7 @@ use crate::{
self, missing_field_err, CardData, PaymentsAuthorizeRequestData, RouterData,
},
core::errors,
- types::{self, api, storage::enums},
+ types::{self, api, domain, storage::enums},
unimplemented_payment_method,
};
@@ -71,7 +71,7 @@ impl TryFrom<&StaxRouterData<&types::PaymentsAuthorizeRouterData>> for StaxPayme
let total = item.amount;
match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(_) => {
+ domain::PaymentMethodData::Card(_) => {
let pm_token = item.router_data.get_payment_method_token()?;
let pre_auth = !item.router_data.request.is_auto_capture()?;
Ok(Self {
@@ -88,7 +88,7 @@ impl TryFrom<&StaxRouterData<&types::PaymentsAuthorizeRouterData>> for StaxPayme
idempotency_id: Some(item.router_data.connector_request_reference_id.clone()),
})
}
- api::PaymentMethodData::BankDebit(
+ domain::PaymentMethodData::BankDebit(
api_models::payments::BankDebitData::AchBankDebit { .. },
) => {
let pm_token = item.router_data.get_payment_method_token()?;
@@ -107,21 +107,23 @@ impl TryFrom<&StaxRouterData<&types::PaymentsAuthorizeRouterData>> for StaxPayme
idempotency_id: Some(item.router_data.connector_request_reference_id.clone()),
})
}
- api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Stax"),
- ))?,
+ domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Stax"),
+ ))?
+ }
}
}
}
@@ -223,7 +225,7 @@ impl TryFrom<&types::TokenizationRouterData> for StaxTokenRequest {
fn try_from(item: &types::TokenizationRouterData) -> Result {
let customer_id = item.get_connector_customer_id()?;
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(card_data) => {
+ domain::PaymentMethodData::Card(card_data) => {
let stax_card_data = StaxTokenizeData {
card_exp: card_data
.get_card_expiry_month_year_2_digit_with_delimiter("".to_string())?,
@@ -236,7 +238,7 @@ impl TryFrom<&types::TokenizationRouterData> for StaxTokenRequest {
};
Ok(Self::Card(stax_card_data))
}
- api_models::payments::PaymentMethodData::BankDebit(
+ domain::PaymentMethodData::BankDebit(
api_models::payments::BankDebitData::AchBankDebit {
billing_details,
account_number,
@@ -259,21 +261,23 @@ impl TryFrom<&types::TokenizationRouterData> for StaxTokenRequest {
};
Ok(Self::Bank(stax_bank_data))
}
- api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("Stax"),
- ))?,
+ domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("Stax"),
+ ))?
+ }
}
}
}
diff --git a/crates/router/src/connector/stripe.rs b/crates/router/src/connector/stripe.rs
index a3cf0d5c83..c966a22461 100644
--- a/crates/router/src/connector/stripe.rs
+++ b/crates/router/src/connector/stripe.rs
@@ -28,6 +28,7 @@ use crate::{
types::{
self,
api::{self, ConnectorCommon},
+ domain,
},
utils::{crypto, ByteSliceExt, BytesExt, OptionExt},
};
@@ -822,7 +823,7 @@ impl
connectors: &settings::Connectors,
) -> CustomResult {
match &req.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
+ domain::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
match bank_transfer_data.deref() {
api_models::payments::BankTransferData::AchBankTransfer { .. }
| api_models::payments::BankTransferData::MultibancoBankTransfer { .. } => {
@@ -849,7 +850,7 @@ impl
_connectors: &settings::Connectors,
) -> CustomResult {
match &req.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
+ domain::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
stripe::get_bank_transfer_request_data(req, bank_transfer_data.deref())
}
_ => {
@@ -889,7 +890,7 @@ impl
res: types::Response,
) -> CustomResult {
match &data.request.payment_method_data {
- api_models::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
+ domain::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
match bank_transfer_data.deref() {
api_models::payments::BankTransferData::AchBankTransfer { .. }
| api_models::payments::BankTransferData::MultibancoBankTransfer { .. } => {
diff --git a/crates/router/src/connector/stripe/transformers.rs b/crates/router/src/connector/stripe/transformers.rs
index 95d9b6dd90..4673cce4d8 100644
--- a/crates/router/src/connector/stripe/transformers.rs
+++ b/crates/router/src/connector/stripe/transformers.rs
@@ -25,7 +25,7 @@ use crate::{
core::errors,
services,
types::{
- self, api,
+ self, api, domain,
storage::enums,
transformers::{ForeignFrom, ForeignTryFrom},
},
@@ -1273,7 +1273,7 @@ fn get_bank_debit_data(
}
fn create_stripe_payment_method(
- payment_method_data: &api_models::payments::PaymentMethodData,
+ payment_method_data: &domain::PaymentMethodData,
auth_type: enums::AuthenticationType,
payment_method_token: Option,
is_customer_initiated_mandate_payment: Option,
@@ -1287,7 +1287,7 @@ fn create_stripe_payment_method(
error_stack::Report,
> {
match payment_method_data {
- payments::PaymentMethodData::Card(card_details) => {
+ domain::PaymentMethodData::Card(card_details) => {
let payment_method_auth_type = match auth_type {
enums::AuthenticationType::ThreeDs => Auth3ds::Any,
enums::AuthenticationType::NoThreeDs => Auth3ds::Automatic,
@@ -1298,7 +1298,7 @@ fn create_stripe_payment_method(
billing_address,
))
}
- payments::PaymentMethodData::PayLater(pay_later_data) => {
+ domain::PaymentMethodData::PayLater(pay_later_data) => {
let stripe_pm_type = StripePaymentMethodType::try_from(pay_later_data)?;
let billing_address = StripeBillingAddress::try_from((pay_later_data, stripe_pm_type))?;
Ok((
@@ -1309,7 +1309,7 @@ fn create_stripe_payment_method(
billing_address,
))
}
- payments::PaymentMethodData::BankRedirect(bank_redirect_data) => {
+ domain::PaymentMethodData::BankRedirect(bank_redirect_data) => {
let billing_address = StripeBillingAddress::try_from((
bank_redirect_data,
is_customer_initiated_mandate_payment,
@@ -1319,7 +1319,7 @@ fn create_stripe_payment_method(
Ok((bank_redirect_data, Some(pm_type), billing_address))
}
- payments::PaymentMethodData::Wallet(wallet_data) => {
+ domain::PaymentMethodData::Wallet(wallet_data) => {
let pm_type = ForeignTryFrom::foreign_try_from(wallet_data)?;
let wallet_specific_data =
StripePaymentMethodData::try_from((wallet_data, payment_method_token))?;
@@ -1329,7 +1329,7 @@ fn create_stripe_payment_method(
StripeBillingAddress::default(),
))
}
- payments::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
let (pm_type, bank_debit_data, billing_address) = get_bank_debit_data(bank_debit_data);
let pm_data = StripePaymentMethodData::BankDebit(StripeBankDebitData {
@@ -1338,7 +1338,7 @@ fn create_stripe_payment_method(
Ok((pm_data, Some(pm_type), billing_address))
}
- payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
+ domain::PaymentMethodData::BankTransfer(bank_transfer_data) => {
match bank_transfer_data.deref() {
payments::BankTransferData::AchBankTransfer { billing_details } => Ok((
StripePaymentMethodData::BankTransfer(StripeBankTransferData::AchBankTransfer(
@@ -1427,12 +1427,12 @@ fn create_stripe_payment_method(
}
}
}
- payments::PaymentMethodData::Crypto(_) => Err(errors::ConnectorError::NotImplemented(
+ domain::PaymentMethodData::Crypto(_) => Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
)
.into()),
- payments::PaymentMethodData::GiftCard(giftcard_data) => match giftcard_data.deref() {
+ domain::PaymentMethodData::GiftCard(giftcard_data) => match giftcard_data.deref() {
payments::GiftCardData::Givex(_) | payments::GiftCardData::PaySafeCard {} => {
Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
@@ -1440,24 +1440,23 @@ fn create_stripe_payment_method(
.into())
}
},
-
- payments::PaymentMethodData::CardRedirect(cardredirect_data) => match cardredirect_data {
- payments::CardRedirectData::Knet {}
- | payments::CardRedirectData::Benefit {}
- | payments::CardRedirectData::MomoAtm {}
- | payments::CardRedirectData::CardRedirect {} => {
+ domain::PaymentMethodData::CardRedirect(cardredirect_data) => match cardredirect_data {
+ domain::CardRedirectData::Knet {}
+ | domain::CardRedirectData::Benefit {}
+ | domain::CardRedirectData::MomoAtm {}
+ | domain::CardRedirectData::CardRedirect {} => {
Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
)
.into())
}
},
- payments::PaymentMethodData::Reward => Err(errors::ConnectorError::NotImplemented(
+ domain::PaymentMethodData::Reward => Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
)
.into()),
- payments::PaymentMethodData::Voucher(voucher_data) => match voucher_data {
+ domain::PaymentMethodData::Voucher(voucher_data) => match voucher_data {
payments::VoucherData::Boleto(_) | payments::VoucherData::Oxxo => {
Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
@@ -1481,19 +1480,19 @@ fn create_stripe_payment_method(
.into()),
},
- payments::PaymentMethodData::Upi(_)
- | payments::PaymentMethodData::MandatePayment
- | payments::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
+ domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
)
.into()),
}
}
-impl TryFrom<(&payments::Card, Auth3ds)> for StripePaymentMethodData {
+impl TryFrom<(&domain::Card, Auth3ds)> for StripePaymentMethodData {
type Error = errors::ConnectorError;
fn try_from(
- (card, payment_method_auth_type): (&payments::Card, Auth3ds),
+ (card, payment_method_auth_type): (&domain::Card, Auth3ds),
) -> Result {
Ok(Self::Card(StripeCardData {
payment_method_data_type: StripePaymentMethodType::Card,
@@ -1858,7 +1857,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for PaymentIntentRequest {
};
payment_data = match item.request.payment_method_data {
- payments::PaymentMethodData::Wallet(payments::WalletData::ApplePay(_)) => {
+ domain::PaymentMethodData::Wallet(payments::WalletData::ApplePay(_)) => {
let payment_method_token = item
.payment_method_token
.to_owned()
@@ -3188,7 +3187,7 @@ impl TryFrom<&types::PaymentsPreProcessingRouterData> for StripeCreditTransferSo
let currency = item.request.get_currency()?;
match &item.request.payment_method_data {
- Some(payments::PaymentMethodData::BankTransfer(bank_transfer_data)) => {
+ Some(domain::PaymentMethodData::BankTransfer(bank_transfer_data)) => {
match **bank_transfer_data {
payments::BankTransferData::MultibancoBankTransfer { .. } => Ok(
Self::MultibancoBankTansfer(MultibancoCreditTransferSourceRequest {
@@ -3230,19 +3229,19 @@ impl TryFrom<&types::PaymentsPreProcessingRouterData> for StripeCreditTransferSo
}
}
}
- Some(payments::PaymentMethodData::Card(..))
- | Some(payments::PaymentMethodData::Wallet(..))
- | Some(payments::PaymentMethodData::BankDebit(..))
- | Some(payments::PaymentMethodData::BankRedirect(..))
- | Some(payments::PaymentMethodData::PayLater(..))
- | Some(payments::PaymentMethodData::Crypto(..))
- | Some(payments::PaymentMethodData::Reward)
- | Some(payments::PaymentMethodData::MandatePayment)
- | Some(payments::PaymentMethodData::Upi(..))
- | Some(payments::PaymentMethodData::GiftCard(..))
- | Some(payments::PaymentMethodData::CardRedirect(..))
- | Some(payments::PaymentMethodData::Voucher(..))
- | Some(payments::PaymentMethodData::CardToken(..))
+ Some(domain::PaymentMethodData::Card(..))
+ | Some(domain::PaymentMethodData::Wallet(..))
+ | Some(domain::PaymentMethodData::BankDebit(..))
+ | Some(domain::PaymentMethodData::BankRedirect(..))
+ | Some(domain::PaymentMethodData::PayLater(..))
+ | Some(domain::PaymentMethodData::Crypto(..))
+ | Some(domain::PaymentMethodData::Reward)
+ | Some(domain::PaymentMethodData::MandatePayment)
+ | Some(domain::PaymentMethodData::Upi(..))
+ | Some(domain::PaymentMethodData::GiftCard(..))
+ | Some(domain::PaymentMethodData::CardRedirect(..))
+ | Some(domain::PaymentMethodData::Voucher(..))
+ | Some(domain::PaymentMethodData::CardToken(..))
| None => Err(errors::ConnectorError::NotImplemented(
connector_util::get_unimplemented_payment_method_error_message("stripe"),
)
@@ -3595,7 +3594,7 @@ pub struct EvidenceDetails {
impl
TryFrom<(
- api::PaymentMethodData,
+ domain::PaymentMethodData,
enums::AuthenticationType,
StripePaymentMethodType,
)> for StripePaymentMethodData
@@ -3603,98 +3602,98 @@ impl
type Error = error_stack::Report;
fn try_from(
(pm_data, auth_type, pm_type): (
- api::PaymentMethodData,
+ domain::PaymentMethodData,
enums::AuthenticationType,
StripePaymentMethodType,
),
) -> Result {
match pm_data {
- api::PaymentMethodData::Card(ref ccard) => {
+ domain::PaymentMethodData::Card(ref ccard) => {
let payment_method_auth_type = match auth_type {
enums::AuthenticationType::ThreeDs => Auth3ds::Any,
enums::AuthenticationType::NoThreeDs => Auth3ds::Automatic,
};
Ok(Self::try_from((ccard, payment_method_auth_type))?)
}
- api::PaymentMethodData::PayLater(_) => Ok(Self::PayLater(StripePayLaterData {
+ domain::PaymentMethodData::PayLater(_) => Ok(Self::PayLater(StripePayLaterData {
payment_method_data_type: pm_type,
})),
- api::PaymentMethodData::BankRedirect(ref bank_redirect_data) => {
+ domain::PaymentMethodData::BankRedirect(ref bank_redirect_data) => {
Ok(Self::try_from(bank_redirect_data)?)
}
- payments::PaymentMethodData::Wallet(ref wallet_data) => {
+ domain::PaymentMethodData::Wallet(ref wallet_data) => {
Ok(Self::try_from((wallet_data, None))?)
}
- api::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
let (_pm_type, bank_data, _) = get_bank_debit_data(&bank_debit_data);
Ok(Self::BankDebit(StripeBankDebitData {
bank_specific_data: bank_data,
}))
}
- api::PaymentMethodData::BankTransfer(bank_transfer_data) => {
- match bank_transfer_data.deref() {
- payments::BankTransferData::AchBankTransfer { billing_details } => {
- Ok(Self::BankTransfer(StripeBankTransferData::AchBankTransfer(
- Box::new(AchTransferData {
- email: billing_details.email.to_owned(),
- }),
- )))
- }
- payments::BankTransferData::MultibancoBankTransfer { billing_details } => Ok(
- Self::BankTransfer(StripeBankTransferData::MultibancoBankTransfers(
- Box::new(MultibancoTransferData {
- email: billing_details.email.to_owned(),
- }),
- )),
- ),
- payments::BankTransferData::SepaBankTransfer { country, .. } => Ok(
- Self::BankTransfer(StripeBankTransferData::SepaBankTransfer(Box::new(
- SepaBankTransferData {
- payment_method_data_type: StripePaymentMethodType::CustomerBalance,
- bank_transfer_type: BankTransferType::EuBankTransfer,
- balance_funding_type: BankTransferType::BankTransfers,
- payment_method_type: StripePaymentMethodType::CustomerBalance,
- country: country.to_owned(),
- },
- ))),
- ),
- payments::BankTransferData::BacsBankTransfer { .. } => Ok(Self::BankTransfer(
- StripeBankTransferData::BacsBankTransfers(Box::new(BacsBankTransferData {
+ domain::PaymentMethodData::BankTransfer(bank_transfer_data) => match bank_transfer_data
+ .deref()
+ {
+ payments::BankTransferData::AchBankTransfer { billing_details } => {
+ Ok(Self::BankTransfer(StripeBankTransferData::AchBankTransfer(
+ Box::new(AchTransferData {
+ email: billing_details.email.to_owned(),
+ }),
+ )))
+ }
+ payments::BankTransferData::MultibancoBankTransfer { billing_details } => Ok(
+ Self::BankTransfer(StripeBankTransferData::MultibancoBankTransfers(Box::new(
+ MultibancoTransferData {
+ email: billing_details.email.to_owned(),
+ },
+ ))),
+ ),
+ payments::BankTransferData::SepaBankTransfer { country, .. } => {
+ Ok(Self::BankTransfer(
+ StripeBankTransferData::SepaBankTransfer(Box::new(SepaBankTransferData {
payment_method_data_type: StripePaymentMethodType::CustomerBalance,
- bank_transfer_type: BankTransferType::GbBankTransfer,
+ bank_transfer_type: BankTransferType::EuBankTransfer,
balance_funding_type: BankTransferType::BankTransfers,
payment_method_type: StripePaymentMethodType::CustomerBalance,
+ country: country.to_owned(),
})),
- )),
- payments::BankTransferData::Pix {}
- | payments::BankTransferData::Pse {}
- | payments::BankTransferData::PermataBankTransfer { .. }
- | payments::BankTransferData::BcaBankTransfer { .. }
- | payments::BankTransferData::BniVaBankTransfer { .. }
- | payments::BankTransferData::BriVaBankTransfer { .. }
- | payments::BankTransferData::CimbVaBankTransfer { .. }
- | payments::BankTransferData::DanamonVaBankTransfer { .. }
- | payments::BankTransferData::MandiriVaBankTransfer { .. } => {
- Err(errors::ConnectorError::NotImplemented(
- connector_util::get_unimplemented_payment_method_error_message(
- "stripe",
- ),
- )
- .into())
- }
+ ))
}
+ payments::BankTransferData::BacsBankTransfer { .. } => Ok(Self::BankTransfer(
+ StripeBankTransferData::BacsBankTransfers(Box::new(BacsBankTransferData {
+ payment_method_data_type: StripePaymentMethodType::CustomerBalance,
+ bank_transfer_type: BankTransferType::GbBankTransfer,
+ balance_funding_type: BankTransferType::BankTransfers,
+ payment_method_type: StripePaymentMethodType::CustomerBalance,
+ })),
+ )),
+ payments::BankTransferData::Pix {}
+ | payments::BankTransferData::Pse {}
+ | payments::BankTransferData::PermataBankTransfer { .. }
+ | payments::BankTransferData::BcaBankTransfer { .. }
+ | payments::BankTransferData::BniVaBankTransfer { .. }
+ | payments::BankTransferData::BriVaBankTransfer { .. }
+ | payments::BankTransferData::CimbVaBankTransfer { .. }
+ | payments::BankTransferData::DanamonVaBankTransfer { .. }
+ | payments::BankTransferData::MandiriVaBankTransfer { .. } => {
+ Err(errors::ConnectorError::NotImplemented(
+ connector_util::get_unimplemented_payment_method_error_message("stripe"),
+ )
+ .into())
+ }
+ },
+ domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ connector_util::get_unimplemented_payment_method_error_message("stripe"),
+ ))?
}
- api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- connector_util::get_unimplemented_payment_method_error_message("stripe"),
- ))?,
}
}
}
diff --git a/crates/router/src/connector/threedsecureio/transformers.rs b/crates/router/src/connector/threedsecureio/transformers.rs
index 2d662e5e30..f119be9ccf 100644
--- a/crates/router/src/connector/threedsecureio/transformers.rs
+++ b/crates/router/src/connector/threedsecureio/transformers.rs
@@ -18,6 +18,7 @@ use crate::{
self,
api::{self, MessageCategory},
authentication::ChallengeParams,
+ domain,
},
utils::OptionExt,
};
@@ -244,10 +245,10 @@ impl TryFrom<&types::ConnectorAuthType> for ThreedsecureioAuthType {
}
fn get_card_details(
- payment_method_data: api_models::payments::PaymentMethodData,
-) -> Result {
+ payment_method_data: domain::PaymentMethodData,
+) -> Result {
match payment_method_data {
- api_models::payments::PaymentMethodData::Card(details) => Ok(details),
+ domain::PaymentMethodData::Card(details) => Ok(details),
_ => Err(errors::ConnectorError::NotSupported {
message: SELECTED_PAYMENT_METHOD.to_string(),
connector: "threedsecureio",
diff --git a/crates/router/src/connector/trustpay/transformers.rs b/crates/router/src/connector/trustpay/transformers.rs
index d898bd2489..e7e9a759d5 100644
--- a/crates/router/src/connector/trustpay/transformers.rs
+++ b/crates/router/src/connector/trustpay/transformers.rs
@@ -18,7 +18,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums, BrowserInformation},
+ types::{self, domain, storage::enums, BrowserInformation},
};
type Error = error_stack::Report;
@@ -281,7 +281,7 @@ fn get_card_request_data(
browser_info: &BrowserInformation,
params: TrustpayMandatoryParams,
amount: String,
- ccard: &api_models::payments::Card,
+ ccard: &domain::payments::Card,
return_url: String,
) -> Result {
let email = item.request.get_email()?;
@@ -418,7 +418,7 @@ impl TryFrom<&TrustpayRouterData<&types::PaymentsAuthorizeRouterData>> for Trust
let auth = TrustpayAuthType::try_from(&item.router_data.connector_auth_type)
.change_context(errors::ConnectorError::FailedToObtainAuthType)?;
match item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(ref ccard) => Ok(get_card_request_data(
+ domain::PaymentMethodData::Card(ref ccard) => Ok(get_card_request_data(
item.router_data,
&default_browser_info,
params,
@@ -426,7 +426,7 @@ impl TryFrom<&TrustpayRouterData<&types::PaymentsAuthorizeRouterData>> for Trust
ccard,
item.router_data.request.get_return_url()?,
)?),
- api::PaymentMethodData::BankRedirect(ref bank_redirection_data) => {
+ domain::PaymentMethodData::BankRedirect(ref bank_redirection_data) => {
get_bank_redirection_request_data(
item.router_data,
bank_redirection_data,
@@ -435,21 +435,23 @@ impl TryFrom<&TrustpayRouterData<&types::PaymentsAuthorizeRouterData>> for Trust
auth,
)
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("trustpay"),
- )
- .into()),
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("trustpay"),
+ )
+ .into())
+ }
}
}
}
diff --git a/crates/router/src/connector/tsys/transformers.rs b/crates/router/src/connector/tsys/transformers.rs
index a01576bbb2..6ffe1f1ed7 100644
--- a/crates/router/src/connector/tsys/transformers.rs
+++ b/crates/router/src/connector/tsys/transformers.rs
@@ -6,7 +6,7 @@ use crate::{
connector::utils::{self, CardData, PaymentsAuthorizeRequestData, RefundsRequestData},
core::errors,
types::{
- self, api,
+ self, api, domain,
storage::{self, enums},
},
};
@@ -41,7 +41,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for TsysPaymentsRequest {
type Error = error_stack::Report;
fn try_from(item: &types::PaymentsAuthorizeRouterData) -> Result {
match item.request.payment_method_data.clone() {
- api::PaymentMethodData::Card(ccard) => {
+ domain::PaymentMethodData::Card(ccard) => {
let connector_auth: TsysAuthType =
TsysAuthType::try_from(&item.connector_auth_type)?;
let auth_data: TsysPaymentAuthSaleRequest = TsysPaymentAuthSaleRequest {
@@ -66,21 +66,23 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for TsysPaymentsRequest {
Ok(Self::Auth(auth_data))
}
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankRedirect(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("tsys"),
- ))?,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("tsys"),
+ ))?
+ }
}
}
}
diff --git a/crates/router/src/connector/utils.rs b/crates/router/src/connector/utils.rs
index 804ad3ef3d..37f06ad9ce 100644
--- a/crates/router/src/connector/utils.rs
+++ b/crates/router/src/connector/utils.rs
@@ -29,8 +29,8 @@ use crate::{
},
pii::PeekInterface,
types::{
- self, api, transformers::ForeignTryFrom, ApplePayPredecryptData, BrowserInformation,
- PaymentsCancelData, ResponseId,
+ self, api, domain, transformers::ForeignTryFrom, ApplePayPredecryptData,
+ BrowserInformation, PaymentsCancelData, ResponseId,
},
utils::{OptionExt, ValueExt},
};
@@ -477,7 +477,7 @@ pub trait PaymentsAuthorizeRequestData {
fn get_email(&self) -> Result;
fn get_browser_info(&self) -> Result;
fn get_order_details(&self) -> Result, Error>;
- fn get_card(&self) -> Result;
+ fn get_card(&self) -> Result;
fn get_return_url(&self) -> Result;
fn connector_mandate_id(&self) -> Option;
fn is_mandate_payment(&self) -> bool;
@@ -530,9 +530,9 @@ impl PaymentsAuthorizeRequestData for types::PaymentsAuthorizeData {
.ok_or_else(missing_field_err("order_details"))
}
- fn get_card(&self) -> Result {
+ fn get_card(&self) -> Result {
match self.payment_method_data.clone() {
- api::PaymentMethodData::Card(card) => Ok(card),
+ domain::PaymentMethodData::Card(card) => Ok(card),
_ => Err(missing_field_err("card")()),
}
}
@@ -577,10 +577,13 @@ impl PaymentsAuthorizeRequestData for types::PaymentsAuthorizeData {
.ok_or_else(missing_field_err("return_url"))
}
fn is_wallet(&self) -> bool {
- matches!(self.payment_method_data, api::PaymentMethodData::Wallet(_))
+ matches!(
+ self.payment_method_data,
+ domain::PaymentMethodData::Wallet(_)
+ )
}
fn is_card(&self) -> bool {
- matches!(self.payment_method_data, api::PaymentMethodData::Card(_))
+ matches!(self.payment_method_data, domain::PaymentMethodData::Card(_))
}
fn get_payment_method_type(&self) -> Result {
@@ -903,7 +906,7 @@ pub trait CardData {
fn get_expiry_year_as_i32(&self) -> Result, Error>;
}
-impl CardData for api::Card {
+impl CardData for domain::Card {
fn get_card_expiry_year_2_digit(&self) -> Result, errors::ConnectorError> {
let binding = self.card_exp_year.clone();
let year = binding.peek();
diff --git a/crates/router/src/connector/volt/transformers.rs b/crates/router/src/connector/volt/transformers.rs
index 317f40216f..47c29767d8 100644
--- a/crates/router/src/connector/volt/transformers.rs
+++ b/crates/router/src/connector/volt/transformers.rs
@@ -8,7 +8,7 @@ use crate::{
consts,
core::errors,
services,
- types::{self, api, storage::enums as storage_enums},
+ types::{self, api, domain, storage::enums as storage_enums},
};
const PASSWORD: &str = "password";
@@ -87,7 +87,7 @@ impl TryFrom<&VoltRouterData<&types::PaymentsAuthorizeRouterData>> for VoltPayme
item: &VoltRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match item.router_data.request.payment_method_data.clone() {
- api::PaymentMethodData::BankRedirect(ref bank_redirect) => match bank_redirect {
+ domain::PaymentMethodData::BankRedirect(ref bank_redirect) => match bank_redirect {
api_models::payments::BankRedirectData::OpenBankingUk { .. } => {
let amount = item.amount;
let currency_code = item.router_data.request.currency;
@@ -140,19 +140,19 @@ impl TryFrom<&VoltRouterData<&types::PaymentsAuthorizeRouterData>> for VoltPayme
.into())
}
},
- api_models::payments::PaymentMethodData::Card(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::Wallet(_)
- | api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Card(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Volt"),
)
diff --git a/crates/router/src/connector/worldline/transformers.rs b/crates/router/src/connector/worldline/transformers.rs
index 85d7afd8e4..9a8297dd32 100644
--- a/crates/router/src/connector/worldline/transformers.rs
+++ b/crates/router/src/connector/worldline/transformers.rs
@@ -11,6 +11,7 @@ use crate::{
types::{
self,
api::{self, enums as api_enums},
+ domain,
storage::enums,
transformers::ForeignFrom,
PaymentsAuthorizeData, PaymentsResponseData,
@@ -236,31 +237,33 @@ impl
>,
) -> Result {
let payment_data = match &item.router_data.request.payment_method_data {
- api::PaymentMethodData::Card(card) => {
+ domain::PaymentMethodData::Card(card) => {
WorldlinePaymentMethod::CardPaymentMethodSpecificInput(Box::new(make_card_request(
&item.router_data.request,
card,
)?))
}
- api::PaymentMethodData::BankRedirect(bank_redirect) => {
+ domain::PaymentMethodData::BankRedirect(bank_redirect) => {
WorldlinePaymentMethod::RedirectPaymentMethodSpecificInput(Box::new(
make_bank_redirect_request(&item.router_data.request, bank_redirect)?,
))
}
- api::PaymentMethodData::CardRedirect(_)
- | api::PaymentMethodData::Wallet(_)
- | api::PaymentMethodData::PayLater(_)
- | api::PaymentMethodData::BankDebit(_)
- | api::PaymentMethodData::BankTransfer(_)
- | api::PaymentMethodData::Crypto(_)
- | api::PaymentMethodData::MandatePayment
- | api::PaymentMethodData::Reward
- | api::PaymentMethodData::Upi(_)
- | api::PaymentMethodData::Voucher(_)
- | api::PaymentMethodData::GiftCard(_)
- | api::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("worldline"),
- ))?,
+ domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::Wallet(_)
+ | domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => {
+ Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("worldline"),
+ ))?
+ }
};
let billing_address = item.router_data.get_billing()?;
@@ -339,7 +342,7 @@ impl TryFrom<&api_models::enums::BankNames> for WorldlineBic {
fn make_card_request(
req: &PaymentsAuthorizeData,
- ccard: &payments::Card,
+ ccard: &domain::Card,
) -> Result> {
let expiry_year = ccard.card_exp_year.peek();
let secret_value = format!(
diff --git a/crates/router/src/connector/worldpay/transformers.rs b/crates/router/src/connector/worldpay/transformers.rs
index dd92984eb9..1cbdb71f8b 100644
--- a/crates/router/src/connector/worldpay/transformers.rs
+++ b/crates/router/src/connector/worldpay/transformers.rs
@@ -9,7 +9,7 @@ use crate::{
connector::utils,
consts,
core::errors,
- types::{self, api, PaymentsAuthorizeData, PaymentsResponseData},
+ types::{self, domain, PaymentsAuthorizeData, PaymentsResponseData},
};
#[derive(Debug, Serialize)]
@@ -41,10 +41,10 @@ impl
}
}
fn fetch_payment_instrument(
- payment_method: api::PaymentMethodData,
+ payment_method: domain::PaymentMethodData,
) -> CustomResult {
match payment_method {
- api::PaymentMethodData::Card(card) => Ok(PaymentInstrument::Card(CardPayment {
+ domain::PaymentMethodData::Card(card) => Ok(PaymentInstrument::Card(CardPayment {
card_expiry_date: CardExpiryDate {
month: utils::CardData::get_expiry_month_as_i8(&card)?,
year: utils::CardData::get_expiry_year_as_i32(&card)?,
@@ -52,7 +52,7 @@ fn fetch_payment_instrument(
card_number: card.card_number,
..CardPayment::default()
})),
- api::PaymentMethodData::Wallet(wallet) => match wallet {
+ domain::PaymentMethodData::Wallet(wallet) => match wallet {
api_models::payments::WalletData::GooglePay(data) => {
Ok(PaymentInstrument::Googlepay(WalletPayment {
payment_type: PaymentType::Googlepay,
@@ -97,23 +97,21 @@ fn fetch_payment_instrument(
.into())
}
},
- api_models::payments::PaymentMethodData::PayLater(_)
- | api_models::payments::PaymentMethodData::BankRedirect(_)
- | api_models::payments::PaymentMethodData::BankDebit(_)
- | api_models::payments::PaymentMethodData::BankTransfer(_)
- | api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::Voucher(_)
- | api_models::payments::PaymentMethodData::CardRedirect(_)
- | api_models::payments::PaymentMethodData::GiftCard(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
- Err(errors::ConnectorError::NotImplemented(
- utils::get_unimplemented_payment_method_error_message("worldpay"),
- )
- .into())
- }
+ domain::PaymentMethodData::PayLater(_)
+ | domain::PaymentMethodData::BankRedirect(_)
+ | domain::PaymentMethodData::BankDebit(_)
+ | domain::PaymentMethodData::BankTransfer(_)
+ | domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::Voucher(_)
+ | domain::PaymentMethodData::CardRedirect(_)
+ | domain::PaymentMethodData::GiftCard(_)
+ | domain::PaymentMethodData::CardToken(_) => Err(errors::ConnectorError::NotImplemented(
+ utils::get_unimplemented_payment_method_error_message("worldpay"),
+ )
+ .into()),
}
}
diff --git a/crates/router/src/connector/zen.rs b/crates/router/src/connector/zen.rs
index 7c28dfcc43..540c3320c2 100644
--- a/crates/router/src/connector/zen.rs
+++ b/crates/router/src/connector/zen.rs
@@ -197,7 +197,7 @@ impl ConnectorIntegration CustomResult)>, errors::ConnectorError> {
let mut headers = self.build_headers(req, connectors)?;
let api_headers = match req.request.payment_method_data {
- api_models::payments::PaymentMethodData::Wallet(_) => None,
+ domain::payments::PaymentMethodData::Wallet(_) => None,
_ => Some(Self::get_default_header()),
};
if let Some(api_header) = api_headers {
@@ -216,7 +216,7 @@ impl ConnectorIntegration CustomResult {
let endpoint = match &req.request.payment_method_data {
- api_models::payments::PaymentMethodData::Wallet(_) => {
+ domain::payments::PaymentMethodData::Wallet(_) => {
let base_url = connectors
.zen
.secondary_base_url
diff --git a/crates/router/src/connector/zen/transformers.rs b/crates/router/src/connector/zen/transformers.rs
index 3e52742357..ec44150ec9 100644
--- a/crates/router/src/connector/zen/transformers.rs
+++ b/crates/router/src/connector/zen/transformers.rs
@@ -1,4 +1,3 @@
-use api_models::payments::Card;
use cards::CardNumber;
use common_utils::{ext_traits::ValueExt, pii};
use error_stack::ResultExt;
@@ -14,7 +13,7 @@ use crate::{
consts,
core::errors::{self, CustomResult},
services::{self, Method},
- types::{self, api, storage::enums, transformers::ForeignTryFrom},
+ types::{self, api, domain, storage::enums, transformers::ForeignTryFrom},
utils::OptionExt,
};
@@ -204,10 +203,18 @@ pub struct WalletSessionData {
pub pay_wall_secret: Option>,
}
-impl TryFrom<(&ZenRouterData<&types::PaymentsAuthorizeRouterData>, &Card)> for ZenPaymentsRequest {
+impl
+ TryFrom<(
+ &ZenRouterData<&types::PaymentsAuthorizeRouterData>,
+ &domain::Card,
+ )> for ZenPaymentsRequest
+{
type Error = error_stack::Report;
fn try_from(
- value: (&ZenRouterData<&types::PaymentsAuthorizeRouterData>, &Card),
+ value: (
+ &ZenRouterData<&types::PaymentsAuthorizeRouterData>,
+ &domain::Card,
+ ),
) -> Result {
let (item, ccard) = value;
let browser_info = item.router_data.request.get_browser_info()?;
@@ -685,36 +692,32 @@ impl TryFrom<&ZenRouterData<&types::PaymentsAuthorizeRouterData>> for ZenPayment
item: &ZenRouterData<&types::PaymentsAuthorizeRouterData>,
) -> Result {
match &item.router_data.request.payment_method_data {
- api_models::payments::PaymentMethodData::Card(card) => Self::try_from((item, card)),
- api_models::payments::PaymentMethodData::Wallet(wallet_data) => {
- Self::try_from((item, wallet_data))
- }
- api_models::payments::PaymentMethodData::Voucher(voucher_data) => {
+ domain::PaymentMethodData::Card(card) => Self::try_from((item, card)),
+ domain::PaymentMethodData::Wallet(wallet_data) => Self::try_from((item, wallet_data)),
+ domain::PaymentMethodData::Voucher(voucher_data) => {
Self::try_from((item, voucher_data))
}
- api_models::payments::PaymentMethodData::BankTransfer(bank_transfer_data) => {
+ domain::PaymentMethodData::BankTransfer(bank_transfer_data) => {
Self::try_from((item, bank_transfer_data))
}
- api_models::payments::PaymentMethodData::BankRedirect(bank_redirect_data) => {
+ domain::PaymentMethodData::BankRedirect(bank_redirect_data) => {
Self::try_from(bank_redirect_data)
}
- api_models::payments::PaymentMethodData::PayLater(paylater_data) => {
- Self::try_from(paylater_data)
- }
- api_models::payments::PaymentMethodData::BankDebit(bank_debit_data) => {
+ domain::PaymentMethodData::PayLater(paylater_data) => Self::try_from(paylater_data),
+ domain::PaymentMethodData::BankDebit(bank_debit_data) => {
Self::try_from(bank_debit_data)
}
- api_models::payments::PaymentMethodData::CardRedirect(car_redirect_data) => {
+ domain::PaymentMethodData::CardRedirect(car_redirect_data) => {
Self::try_from(car_redirect_data)
}
- api_models::payments::PaymentMethodData::GiftCard(gift_card_data) => {
+ domain::PaymentMethodData::GiftCard(gift_card_data) => {
Self::try_from(gift_card_data.as_ref())
}
- api_models::payments::PaymentMethodData::Crypto(_)
- | api_models::payments::PaymentMethodData::MandatePayment
- | api_models::payments::PaymentMethodData::Reward
- | api_models::payments::PaymentMethodData::Upi(_)
- | api_models::payments::PaymentMethodData::CardToken(_) => {
+ domain::PaymentMethodData::Crypto(_)
+ | domain::PaymentMethodData::MandatePayment
+ | domain::PaymentMethodData::Reward
+ | domain::PaymentMethodData::Upi(_)
+ | domain::PaymentMethodData::CardToken(_) => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Zen"),
))?
@@ -791,14 +794,14 @@ impl TryFrom<&api_models::payments::BankDebitData> for ZenPaymentsRequest {
}
}
-impl TryFrom<&api_models::payments::CardRedirectData> for ZenPaymentsRequest {
+impl TryFrom<&domain::payments::CardRedirectData> for ZenPaymentsRequest {
type Error = error_stack::Report;
- fn try_from(value: &api_models::payments::CardRedirectData) -> Result {
+ fn try_from(value: &domain::payments::CardRedirectData) -> Result {
match value {
- api_models::payments::CardRedirectData::Knet {}
- | api_models::payments::CardRedirectData::Benefit {}
- | api_models::payments::CardRedirectData::MomoAtm {}
- | api_models::payments::CardRedirectData::CardRedirect {} => {
+ domain::payments::CardRedirectData::Knet {}
+ | domain::payments::CardRedirectData::Benefit {}
+ | domain::payments::CardRedirectData::MomoAtm {}
+ | domain::payments::CardRedirectData::CardRedirect {} => {
Err(errors::ConnectorError::NotImplemented(
utils::get_unimplemented_payment_method_error_message("Zen"),
)
diff --git a/crates/router/src/core/authentication/transformers.rs b/crates/router/src/core/authentication/transformers.rs
index 6ade1b37e9..3c19c0630e 100644
--- a/crates/router/src/core/authentication/transformers.rs
+++ b/crates/router/src/core/authentication/transformers.rs
@@ -56,7 +56,7 @@ pub fn construct_authentication_router_data(
})
.attach_printable("Error while parsing authentication_details from merchant_account")?;
let router_request = types::authentication::ConnectorAuthenticationRequestData {
- payment_method_data,
+ payment_method_data: From::from(payment_method_data),
billing_address,
shipping_address,
browser_details,
diff --git a/crates/router/src/core/mandate.rs b/crates/router/src/core/mandate.rs
index 0ad13f0703..e3eb9b0c97 100644
--- a/crates/router/src/core/mandate.rs
+++ b/crates/router/src/core/mandate.rs
@@ -236,12 +236,12 @@ pub async fn get_customer_mandates(
fn get_insensitive_payment_method_data_if_exists(
router_data: &types::RouterData,
-) -> Option
+) -> Option
where
FData: MandateBehaviour,
{
match &router_data.request.get_payment_method_data() {
- api_models::payments::PaymentMethodData::Card(_) => None,
+ domain::PaymentMethodData::Card(_) => None,
_ => Some(router_data.request.get_payment_method_data()),
}
}
@@ -495,7 +495,7 @@ pub trait MandateBehaviour {
fn get_setup_future_usage(&self) -> Option;
fn get_mandate_id(&self) -> Option<&api_models::payments::MandateIds>;
fn set_mandate_id(&mut self, new_mandate_id: Option);
- fn get_payment_method_data(&self) -> api_models::payments::PaymentMethodData;
+ fn get_payment_method_data(&self) -> domain::payments::PaymentMethodData;
fn get_setup_mandate_details(&self) -> Option<&data_models::mandates::MandateData>;
fn get_customer_acceptance(&self) -> Option;
}
diff --git a/crates/router/src/core/payments.rs b/crates/router/src/core/payments.rs
index b996677f7e..96f5a2833d 100644
--- a/crates/router/src/core/payments.rs
+++ b/crates/router/src/core/payments.rs
@@ -2170,21 +2170,22 @@ pub mod payment_address {
billing: Option,
payment_method_billing: Option,
) -> Self {
+ // billing -> .billing, this is the billing details passed in the root of payments request
+ // payment_method_billing -> .payment_method_data.billing
+
// Merge the billing details field from both `payment.billing` and `payment.payment_method_data.billing`
// The unified payment_method_billing will be used as billing address and passed to the connector module
// This unification is required in order to provide backwards compatibility
// so that if `payment.billing` is passed it should be sent to the connector module
- let unified_payment_method_billing =
- match (payment_method_billing.clone(), billing.clone()) {
- (Some(payment_method_billing), Some(order_billing)) => Some(api::Address {
- address: payment_method_billing.address.or(order_billing.address),
- phone: payment_method_billing.phone.or(order_billing.phone),
- email: payment_method_billing.email.or(order_billing.email),
- }),
- (Some(payment_method_billing), None) => Some(payment_method_billing),
- (None, Some(order_billing)) => Some(order_billing),
- (None, None) => None,
- };
+ // Unify the billing details with `payment_method_data.billing`
+ let unified_payment_method_billing = payment_method_billing
+ .as_ref()
+ .map(|payment_method_billing| {
+ payment_method_billing
+ .clone()
+ .unify_address(billing.as_ref())
+ })
+ .or(billing.clone());
Self {
shipping,
@@ -2202,6 +2203,25 @@ pub mod payment_address {
self.unified_payment_method_billing.as_ref()
}
+ pub fn unify_with_payment_method_data_billing(
+ self,
+ payment_method_data_billing: Option,
+ ) -> Self {
+ // Unify the billing details with `payment_method_data.billing_details`
+ let unified_payment_method_billing = payment_method_data_billing
+ .map(|payment_method_data_billing| {
+ payment_method_data_billing.unify_address(self.get_payment_method_billing())
+ })
+ .or(self.get_payment_method_billing().cloned());
+
+ Self {
+ shipping: self.shipping,
+ billing: self.billing,
+ unified_payment_method_billing,
+ payment_method_billing: self.payment_method_billing,
+ }
+ }
+
pub fn get_request_payment_method_billing(&self) -> Option<&api::Address> {
self.payment_method_billing.as_ref()
}
diff --git a/crates/router/src/core/payments/flows/authorize_flow.rs b/crates/router/src/core/payments/flows/authorize_flow.rs
index 7757313d86..bc43839fdc 100644
--- a/crates/router/src/core/payments/flows/authorize_flow.rs
+++ b/crates/router/src/core/payments/flows/authorize_flow.rs
@@ -294,7 +294,7 @@ impl mandate::MandateBehaviour for types::PaymentsAuthorizeData {
fn get_mandate_id(&self) -> Option<&api_models::payments::MandateIds> {
self.mandate_id.as_ref()
}
- fn get_payment_method_data(&self) -> api_models::payments::PaymentMethodData {
+ fn get_payment_method_data(&self) -> domain::payments::PaymentMethodData {
self.payment_method_data.clone()
}
fn get_setup_future_usage(&self) -> Option {
diff --git a/crates/router/src/core/payments/flows/setup_mandate_flow.rs b/crates/router/src/core/payments/flows/setup_mandate_flow.rs
index 0d663df298..27204450a0 100644
--- a/crates/router/src/core/payments/flows/setup_mandate_flow.rs
+++ b/crates/router/src/core/payments/flows/setup_mandate_flow.rs
@@ -429,7 +429,7 @@ impl mandate::MandateBehaviour for types::SetupMandateRequestData {
self.mandate_id = new_mandate_id;
}
- fn get_payment_method_data(&self) -> api_models::payments::PaymentMethodData {
+ fn get_payment_method_data(&self) -> domain::payments::PaymentMethodData {
self.payment_method_data.clone()
}
diff --git a/crates/router/src/core/payments/helpers.rs b/crates/router/src/core/payments/helpers.rs
index 0f80b6a52e..d96469b640 100644
--- a/crates/router/src/core/payments/helpers.rs
+++ b/crates/router/src/core/payments/helpers.rs
@@ -1167,7 +1167,7 @@ where
#[instrument(skip_all)]
pub(crate) async fn get_payment_method_create_request(
- payment_method_data: Option<&api::PaymentMethodData>,
+ payment_method_data: Option<&domain::PaymentMethodData>,
payment_method: Option,
payment_method_type: Option,
customer: &domain::Customer,
@@ -1175,7 +1175,7 @@ pub(crate) async fn get_payment_method_create_request(
match payment_method_data {
Some(pm_data) => match payment_method {
Some(payment_method) => match pm_data {
- api::PaymentMethodData::Card(card) => {
+ domain::PaymentMethodData::Card(card) => {
let card_detail = api::CardDetail {
card_number: card.card_number.clone(),
card_exp_month: card.card_exp_month.clone(),
@@ -2507,7 +2507,7 @@ pub fn generate_mandate(
payment_method_id: String,
connector_mandate_id: Option,
network_txn_id: Option,
- payment_method_data_option: Option,
+ payment_method_data_option: Option,
mandate_reference: Option,
merchant_connector_id: Option,
) -> CustomResult