mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
667 lines
12 KiB
Rust
667 lines
12 KiB
Rust
#[doc(hidden)]
|
|
pub mod diesel_exports {
|
|
pub use super::{
|
|
DbAttemptStatus as AttemptStatus, DbAuthenticationType as AuthenticationType,
|
|
DbCaptureMethod as CaptureMethod, DbConnectorType as ConnectorType, DbCurrency as Currency,
|
|
DbEventClass as EventClass, DbEventObjectType as EventObjectType, DbEventType as EventType,
|
|
DbFutureUsage as FutureUsage, DbIntentStatus as IntentStatus,
|
|
DbMandateStatus as MandateStatus, DbMandateType as MandateType,
|
|
DbMerchantStorageScheme as MerchantStorageScheme,
|
|
DbPaymentMethodIssuerCode as PaymentMethodIssuerCode,
|
|
DbPaymentMethodSubType as PaymentMethodSubType, DbPaymentMethodType as PaymentMethodType,
|
|
DbProcessTrackerStatus as ProcessTrackerStatus, DbRefundStatus as RefundStatus,
|
|
DbRefundType as RefundType,
|
|
};
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum AttemptStatus {
|
|
Started,
|
|
AuthenticationFailed,
|
|
RouterDeclined,
|
|
AuthenticationPending,
|
|
AuthenticationSuccessful,
|
|
Authorized,
|
|
AuthorizationFailed,
|
|
Charged,
|
|
Authorizing,
|
|
CodInitiated,
|
|
Voided,
|
|
VoidInitiated,
|
|
CaptureInitiated,
|
|
CaptureFailed,
|
|
VoidFailed,
|
|
AutoRefunded,
|
|
PartialCharged,
|
|
#[default]
|
|
Pending,
|
|
Failure,
|
|
PaymentMethodAwaited,
|
|
ConfirmationAwaited,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum AuthenticationType {
|
|
#[default]
|
|
ThreeDs,
|
|
NoThreeDs,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum CaptureMethod {
|
|
#[default]
|
|
Automatic,
|
|
Manual,
|
|
ManualMultiple,
|
|
Scheduled,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
#[serde(rename_all = "snake_case")]
|
|
pub enum ConnectorType {
|
|
/// PayFacs, Acquirers, Gateways, BNPL etc
|
|
PaymentProcessor,
|
|
/// Fraud, Currency Conversion, Crypto etc
|
|
PaymentVas,
|
|
/// Accounting, Billing, Invoicing, Tax etc
|
|
FinOperations,
|
|
/// Inventory, ERP, CRM, KYC etc
|
|
FizOperations,
|
|
/// Payment Networks like Visa, MasterCard etc
|
|
Networks,
|
|
/// All types of banks including corporate / commercial / personal / neo banks
|
|
BankingEntities,
|
|
/// All types of non-banking financial institutions including Insurance, Credit / Lending etc
|
|
NonBankingFinance,
|
|
}
|
|
|
|
#[allow(clippy::upper_case_acronyms)]
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
Hash,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
pub enum Currency {
|
|
AED,
|
|
ALL,
|
|
AMD,
|
|
ARS,
|
|
AUD,
|
|
AWG,
|
|
AZN,
|
|
BBD,
|
|
BDT,
|
|
BHD,
|
|
BMD,
|
|
BND,
|
|
BOB,
|
|
BRL,
|
|
BSD,
|
|
BWP,
|
|
BZD,
|
|
CAD,
|
|
CHF,
|
|
CNY,
|
|
COP,
|
|
CRC,
|
|
CUP,
|
|
CZK,
|
|
DKK,
|
|
DOP,
|
|
DZD,
|
|
EGP,
|
|
ETB,
|
|
EUR,
|
|
FJD,
|
|
GBP,
|
|
GHS,
|
|
GIP,
|
|
GMD,
|
|
GTQ,
|
|
GYD,
|
|
HKD,
|
|
HNL,
|
|
HRK,
|
|
HTG,
|
|
HUF,
|
|
IDR,
|
|
ILS,
|
|
INR,
|
|
JMD,
|
|
JOD,
|
|
JPY,
|
|
KES,
|
|
KGS,
|
|
KHR,
|
|
KRW,
|
|
KWD,
|
|
KYD,
|
|
KZT,
|
|
LAK,
|
|
LBP,
|
|
LKR,
|
|
LRD,
|
|
LSL,
|
|
MAD,
|
|
MDL,
|
|
MKD,
|
|
MMK,
|
|
MNT,
|
|
MOP,
|
|
MUR,
|
|
MVR,
|
|
MWK,
|
|
MXN,
|
|
MYR,
|
|
NAD,
|
|
NGN,
|
|
NIO,
|
|
NOK,
|
|
NPR,
|
|
NZD,
|
|
OMR,
|
|
PEN,
|
|
PGK,
|
|
PHP,
|
|
PKR,
|
|
PLN,
|
|
QAR,
|
|
RUB,
|
|
SAR,
|
|
SCR,
|
|
SEK,
|
|
SGD,
|
|
SLL,
|
|
SOS,
|
|
SSP,
|
|
SVC,
|
|
SZL,
|
|
THB,
|
|
TTD,
|
|
TWD,
|
|
TZS,
|
|
#[default]
|
|
USD,
|
|
UYU,
|
|
UZS,
|
|
YER,
|
|
ZAR,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum EventClass {
|
|
Payments,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum EventObjectType {
|
|
PaymentDetails,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum EventType {
|
|
PaymentSucceeded,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum IntentStatus {
|
|
Succeeded,
|
|
Failed,
|
|
Cancelled,
|
|
Processing,
|
|
RequiresCustomerAction,
|
|
RequiresPaymentMethod,
|
|
#[default]
|
|
RequiresConfirmation,
|
|
RequiresCapture,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum FutureUsage {
|
|
#[default]
|
|
OffSession,
|
|
OnSession,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum MerchantStorageScheme {
|
|
#[default]
|
|
PostgresOnly,
|
|
RedisKv,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
Hash,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
#[serde(rename_all = "snake_case")]
|
|
pub enum PaymentMethodIssuerCode {
|
|
JpHdfc,
|
|
JpIcici,
|
|
JpGooglepay,
|
|
JpApplepay,
|
|
JpPhonepay,
|
|
JpWechat,
|
|
JpSofort,
|
|
JpGiropay,
|
|
JpSepa,
|
|
JpBacs,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
Hash,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum PaymentMethodSubType {
|
|
Credit,
|
|
Debit,
|
|
UpiIntent,
|
|
UpiCollect,
|
|
CreditCardInstallments,
|
|
PayLaterInstallments,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
Hash,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum PaymentMethodType {
|
|
Card,
|
|
PaymentContainer,
|
|
#[default]
|
|
BankTransfer,
|
|
BankDebit,
|
|
PayLater,
|
|
Netbanking,
|
|
Upi,
|
|
OpenBanking,
|
|
ConsumerFinance,
|
|
Wallet,
|
|
Klarna,
|
|
Paypal,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
Hash,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "lowercase")]
|
|
#[strum(serialize_all = "lowercase")]
|
|
pub enum WalletIssuer {
|
|
GooglePay,
|
|
ApplePay,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum ProcessTrackerStatus {
|
|
// Picked by the producer
|
|
Processing,
|
|
// State when the task is added
|
|
New,
|
|
// Send to retry
|
|
Pending,
|
|
// Picked by consumer
|
|
ProcessStarted,
|
|
// Finished by consumer
|
|
Finish,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Serialize,
|
|
serde::Deserialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum RefundStatus {
|
|
Failure,
|
|
ManualReview,
|
|
#[default]
|
|
Pending,
|
|
Success,
|
|
TransactionFailure,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Default,
|
|
Eq,
|
|
PartialEq,
|
|
serde::Serialize,
|
|
serde::Deserialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum RefundType {
|
|
InstantRefund,
|
|
#[default]
|
|
RegularRefund,
|
|
RetryRefund,
|
|
}
|
|
|
|
// Mandate
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
Default,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum MandateType {
|
|
SingleUse,
|
|
#[default]
|
|
MultiUse,
|
|
}
|
|
|
|
#[derive(
|
|
Clone,
|
|
Copy,
|
|
Debug,
|
|
Eq,
|
|
PartialEq,
|
|
Default,
|
|
serde::Deserialize,
|
|
serde::Serialize,
|
|
strum::Display,
|
|
strum::EnumString,
|
|
frunk::LabelledGeneric,
|
|
)]
|
|
#[router_derive::diesel_enum(storage_type = "pg_enum")]
|
|
#[serde(rename_all = "snake_case")]
|
|
#[strum(serialize_all = "snake_case")]
|
|
pub enum MandateStatus {
|
|
#[default]
|
|
Active,
|
|
Inactive,
|
|
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,
|
|
}
|