mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
refactor: add payment_issuer and payment_experience in pa (#491)
This commit is contained in:
@ -6,11 +6,11 @@ pub mod diesel_exports {
|
||||
DbEventClass as EventClass, DbEventObjectType as EventObjectType, DbEventType as EventType,
|
||||
DbFutureUsage as FutureUsage, DbIntentStatus as IntentStatus,
|
||||
DbMandateStatus as MandateStatus, DbMandateType as MandateType,
|
||||
DbMerchantStorageScheme as MerchantStorageScheme, DbPaymentFlow as PaymentFlow,
|
||||
DbMerchantStorageScheme as MerchantStorageScheme,
|
||||
DbPaymentMethodIssuerCode as PaymentMethodIssuerCode,
|
||||
DbPaymentMethodSubType as PaymentMethodSubType, DbPaymentMethodType as PaymentMethodType,
|
||||
DbProcessTrackerStatus as ProcessTrackerStatus, DbRefundStatus as RefundStatus,
|
||||
DbRefundType as RefundType, DbRoutingAlgorithm as RoutingAlgorithm,
|
||||
DbRefundType as RefundType,
|
||||
};
|
||||
}
|
||||
|
||||
@ -25,9 +25,8 @@ pub mod diesel_exports {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum AttemptStatus {
|
||||
@ -66,10 +65,9 @@ pub enum AttemptStatus {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum AuthenticationType {
|
||||
@ -89,10 +87,9 @@ pub enum AuthenticationType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum CaptureMethod {
|
||||
@ -113,10 +110,9 @@ pub enum CaptureMethod {
|
||||
strum::EnumString,
|
||||
serde::Deserialize,
|
||||
serde::Serialize,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum ConnectorType {
|
||||
@ -149,10 +145,9 @@ pub enum ConnectorType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
pub enum Currency {
|
||||
AED,
|
||||
ALL,
|
||||
@ -270,9 +265,8 @@ pub enum Currency {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum EventClass {
|
||||
@ -289,9 +283,8 @@ pub enum EventClass {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum EventObjectType {
|
||||
@ -308,10 +301,9 @@ pub enum EventObjectType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum EventType {
|
||||
@ -329,10 +321,9 @@ pub enum EventType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum IntentStatus {
|
||||
@ -358,10 +349,9 @@ pub enum IntentStatus {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum FutureUsage {
|
||||
@ -381,9 +371,8 @@ pub enum FutureUsage {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum MerchantStorageScheme {
|
||||
@ -392,30 +381,6 @@ pub enum MerchantStorageScheme {
|
||||
RedisKv,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Clone,
|
||||
Copy,
|
||||
Debug,
|
||||
Eq,
|
||||
PartialEq,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
serde::Serialize,
|
||||
serde::Deserialize,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum PaymentFlow {
|
||||
Vsc,
|
||||
Emi,
|
||||
Otp,
|
||||
UpiIntent,
|
||||
UpiCollect,
|
||||
UpiScanAndPay,
|
||||
Sdk,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Clone,
|
||||
Copy,
|
||||
@ -427,10 +392,9 @@ pub enum PaymentFlow {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PaymentMethodIssuerCode {
|
||||
@ -457,10 +421,9 @@ pub enum PaymentMethodIssuerCode {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum PaymentMethodSubType {
|
||||
@ -484,10 +447,9 @@ pub enum PaymentMethodSubType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum PaymentMethodType {
|
||||
@ -517,9 +479,8 @@ pub enum PaymentMethodType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
#[strum(serialize_all = "lowercase")]
|
||||
pub enum WalletIssuer {
|
||||
@ -537,9 +498,8 @@ pub enum WalletIssuer {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum ProcessTrackerStatus {
|
||||
@ -566,10 +526,9 @@ pub enum ProcessTrackerStatus {
|
||||
serde::Deserialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum RefundStatus {
|
||||
Failure,
|
||||
@ -591,9 +550,8 @@ pub enum RefundStatus {
|
||||
serde::Deserialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum RefundType {
|
||||
InstantRefund,
|
||||
@ -602,29 +560,6 @@ pub enum RefundType {
|
||||
RetryRefund,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Clone,
|
||||
Copy,
|
||||
Debug,
|
||||
Eq,
|
||||
PartialEq,
|
||||
serde::Deserialize,
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
#[router_derive::diesel_enum]
|
||||
pub enum RoutingAlgorithm {
|
||||
RoundRobin,
|
||||
MaxConversion,
|
||||
MinCost,
|
||||
Custom,
|
||||
}
|
||||
|
||||
// Mandate
|
||||
#[derive(
|
||||
Clone,
|
||||
@ -637,9 +572,8 @@ pub enum RoutingAlgorithm {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum MandateType {
|
||||
@ -659,10 +593,9 @@ pub enum MandateType {
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
router_derive::DieselEnum,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum]
|
||||
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
pub enum MandateStatus {
|
||||
@ -672,3 +605,62 @@ pub enum MandateStatus {
|
||||
Pending,
|
||||
Revoked,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Clone,
|
||||
Copy,
|
||||
Debug,
|
||||
Eq,
|
||||
Hash,
|
||||
PartialEq,
|
||||
serde::Deserialize,
|
||||
serde::Serialize,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum(storage_type = "text")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PaymentIssuer {
|
||||
Klarna,
|
||||
Affirm,
|
||||
AfterpayClearpay,
|
||||
AmericanExpress,
|
||||
BankOfAmerica,
|
||||
Barclays,
|
||||
CapitalOne,
|
||||
Chase,
|
||||
Citi,
|
||||
Discover,
|
||||
NavyFederalCreditUnion,
|
||||
PentagonFederalCreditUnion,
|
||||
SynchronyBank,
|
||||
WellsFargo,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
Eq,
|
||||
PartialEq,
|
||||
Hash,
|
||||
Clone,
|
||||
Debug,
|
||||
serde::Serialize,
|
||||
serde::Deserialize,
|
||||
Default,
|
||||
strum::Display,
|
||||
strum::EnumString,
|
||||
frunk::LabelledGeneric,
|
||||
)]
|
||||
#[router_derive::diesel_enum(storage_type = "text")]
|
||||
#[strum(serialize_all = "snake_case")]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
pub enum PaymentExperience {
|
||||
#[default]
|
||||
RedirectToUrl,
|
||||
InvokeSdkClient,
|
||||
DisplayQrCode,
|
||||
OneClick,
|
||||
LinkWallet,
|
||||
InvokePaymentApp,
|
||||
}
|
||||
|
||||
@ -22,8 +22,6 @@ pub struct PaymentAttempt {
|
||||
pub tax_amount: Option<i64>,
|
||||
pub payment_method_id: Option<String>,
|
||||
pub payment_method: Option<storage_enums::PaymentMethodType>,
|
||||
pub payment_flow: Option<storage_enums::PaymentFlow>,
|
||||
pub redirect: Option<bool>,
|
||||
pub connector_transaction_id: Option<String>,
|
||||
pub capture_method: Option<storage_enums::CaptureMethod>,
|
||||
pub capture_on: Option<PrimitiveDateTime>,
|
||||
@ -39,6 +37,8 @@ pub struct PaymentAttempt {
|
||||
pub error_code: Option<String>,
|
||||
pub payment_token: Option<String>,
|
||||
pub connector_metadata: Option<serde_json::Value>,
|
||||
pub payment_issuer: Option<storage_enums::PaymentIssuer>,
|
||||
pub payment_experience: Option<storage_enums::PaymentExperience>,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
@ -61,8 +61,6 @@ pub struct PaymentAttemptNew {
|
||||
pub tax_amount: Option<i64>,
|
||||
pub payment_method_id: Option<String>,
|
||||
pub payment_method: Option<storage_enums::PaymentMethodType>,
|
||||
pub payment_flow: Option<storage_enums::PaymentFlow>,
|
||||
pub redirect: Option<bool>,
|
||||
pub connector_transaction_id: Option<String>,
|
||||
pub capture_method: Option<storage_enums::CaptureMethod>,
|
||||
pub capture_on: Option<PrimitiveDateTime>,
|
||||
@ -78,6 +76,8 @@ pub struct PaymentAttemptNew {
|
||||
pub payment_token: Option<String>,
|
||||
pub error_code: Option<String>,
|
||||
pub connector_metadata: Option<serde_json::Value>,
|
||||
pub payment_issuer: Option<storage_enums::PaymentIssuer>,
|
||||
pub payment_experience: Option<storage_enums::PaymentExperience>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
@ -117,7 +117,6 @@ pub enum PaymentAttemptUpdate {
|
||||
connector_transaction_id: Option<String>,
|
||||
authentication_type: Option<storage_enums::AuthenticationType>,
|
||||
payment_method_id: Option<Option<String>>,
|
||||
redirect: Option<bool>,
|
||||
mandate_id: Option<String>,
|
||||
connector_metadata: Option<serde_json::Value>,
|
||||
},
|
||||
@ -146,7 +145,6 @@ pub struct PaymentAttemptUpdateInternal {
|
||||
payment_method_id: Option<Option<String>>,
|
||||
cancellation_reason: Option<String>,
|
||||
modified_at: Option<PrimitiveDateTime>,
|
||||
redirect: Option<bool>,
|
||||
mandate_id: Option<String>,
|
||||
browser_info: Option<serde_json::Value>,
|
||||
payment_token: Option<String>,
|
||||
@ -243,7 +241,6 @@ impl From<PaymentAttemptUpdate> for PaymentAttemptUpdateInternal {
|
||||
connector_transaction_id,
|
||||
authentication_type,
|
||||
payment_method_id,
|
||||
redirect,
|
||||
mandate_id,
|
||||
connector_metadata,
|
||||
} => Self {
|
||||
@ -253,7 +250,6 @@ impl From<PaymentAttemptUpdate> for PaymentAttemptUpdateInternal {
|
||||
authentication_type,
|
||||
payment_method_id,
|
||||
modified_at: Some(common_utils::date_time::now()),
|
||||
redirect,
|
||||
mandate_id,
|
||||
connector_metadata,
|
||||
..Default::default()
|
||||
|
||||
@ -219,8 +219,6 @@ diesel::table! {
|
||||
tax_amount -> Nullable<Int8>,
|
||||
payment_method_id -> Nullable<Varchar>,
|
||||
payment_method -> Nullable<PaymentMethodType>,
|
||||
payment_flow -> Nullable<PaymentFlow>,
|
||||
redirect -> Nullable<Bool>,
|
||||
connector_transaction_id -> Nullable<Varchar>,
|
||||
capture_method -> Nullable<CaptureMethod>,
|
||||
capture_on -> Nullable<Timestamp>,
|
||||
@ -236,6 +234,8 @@ diesel::table! {
|
||||
error_code -> Nullable<Varchar>,
|
||||
payment_token -> Nullable<Varchar>,
|
||||
connector_metadata -> Nullable<Jsonb>,
|
||||
payment_issuer -> Nullable<Varchar>,
|
||||
payment_experience -> Nullable<Varchar>,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user