use serde::{Deserialize, Serialize};
use crate::client::{Client, Response};
use crate::ids::{CustomerId, PaymentMethodConfigurationId, PaymentMethodId, SetupIntentId};
use crate::params::{Expand, Expandable, List, Metadata, Object, Paginable, RangeQuery, Timestamp};
use crate::resources::{
Account, ApiErrors, Application, Currency, Customer, LinkedAccountOptionsUsBankAccount,
Mandate, PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode, PaymentMethod,
PaymentMethodConfigBizPaymentMethodConfigurationDetails,
PaymentMethodOptionsUsBankAccountMandateOptions, SetupAttempt,
};
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntent {
pub id: SetupIntentId,
pub application: Option<Expandable<Application>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_to_self: Option<bool>,
pub automatic_payment_methods: Option<PaymentFlowsAutomaticPaymentMethodsSetupIntent>,
pub cancellation_reason: Option<SetupIntentCancellationReason>,
pub client_secret: Option<String>,
pub created: Timestamp,
pub customer: Option<Expandable<Customer>>,
pub description: Option<String>,
pub flow_directions: Option<Vec<SetupIntentFlowDirections>>,
pub last_setup_error: Option<Box<ApiErrors>>,
pub latest_attempt: Option<Expandable<SetupAttempt>>,
pub livemode: bool,
pub mandate: Option<Expandable<Mandate>>,
pub metadata: Option<Metadata>,
pub next_action: Option<SetupIntentNextAction>,
pub on_behalf_of: Option<Expandable<Account>>,
pub payment_method: Option<Expandable<PaymentMethod>>,
pub payment_method_configuration_details:
Option<PaymentMethodConfigBizPaymentMethodConfigurationDetails>,
pub payment_method_options: Option<SetupIntentPaymentMethodOptions>,
pub payment_method_types: Vec<String>,
pub single_use_mandate: Option<Expandable<Mandate>>,
pub status: SetupIntentStatus,
pub usage: String,
}
impl SetupIntent {
pub fn list(client: &Client, params: &ListSetupIntents<'_>) -> Response<List<SetupIntent>> {
client.get_query("/setup_intents", params)
}
pub fn create(client: &Client, params: CreateSetupIntent<'_>) -> Response<SetupIntent> {
#[allow(clippy::needless_borrows_for_generic_args)]
client.post_form("/setup_intents", ¶ms)
}
pub fn retrieve(client: &Client, id: &SetupIntentId, expand: &[&str]) -> Response<SetupIntent> {
client.get_query(&format!("/setup_intents/{}", id), Expand { expand })
}
pub fn update(
client: &Client,
id: &SetupIntentId,
params: UpdateSetupIntent<'_>,
) -> Response<SetupIntent> {
#[allow(clippy::needless_borrows_for_generic_args)]
client.post_form(&format!("/setup_intents/{}", id), ¶ms)
}
}
impl Object for SetupIntent {
type Id = SetupIntentId;
fn id(&self) -> Self::Id {
self.id.clone()
}
fn object(&self) -> &'static str {
"setup_intent"
}
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct PaymentFlowsAutomaticPaymentMethodsSetupIntent {
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_redirects: Option<PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects>,
pub enabled: Option<bool>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentNextAction {
#[serde(skip_serializing_if = "Option::is_none")]
pub cashapp_handle_redirect_or_display_qr_code:
Option<PaymentIntentNextActionCashappHandleRedirectOrDisplayQrCode>,
#[serde(skip_serializing_if = "Option::is_none")]
pub redirect_to_url: Option<SetupIntentNextActionRedirectToUrl>,
#[serde(rename = "type")]
pub type_: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub use_stripe_sdk: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verify_with_microdeposits: Option<SetupIntentNextActionVerifyWithMicrodeposits>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentNextActionRedirectToUrl {
pub return_url: Option<String>,
pub url: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentNextActionVerifyWithMicrodeposits {
pub arrival_date: Timestamp,
pub hosted_verification_url: String,
pub microdeposit_type: Option<SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub acss_debit: Option<SetupIntentPaymentMethodOptionsAcssDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub card: Option<SetupIntentPaymentMethodOptionsCard>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<SetupIntentPaymentMethodOptionsLink>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paypal: Option<SetupIntentPaymentMethodOptionsPaypal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<SetupIntentPaymentMethodOptionsSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub us_bank_account: Option<SetupIntentPaymentMethodOptionsUsBankAccount>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsAcssDebit {
pub currency: Option<Currency>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<SetupIntentPaymentMethodOptionsMandateOptionsAcssDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification_method: Option<SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsCard {
pub mandate_options: Option<SetupIntentPaymentMethodOptionsCardMandateOptions>,
pub network: Option<SetupIntentPaymentMethodOptionsCardNetwork>,
pub request_three_d_secure: Option<SetupIntentPaymentMethodOptionsCardRequestThreeDSecure>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsCardMandateOptions {
pub amount: i64,
pub amount_type: SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType,
pub currency: Currency,
pub description: Option<String>,
pub end_date: Option<Timestamp>,
pub interval: SetupIntentPaymentMethodOptionsCardMandateOptionsInterval,
pub interval_count: Option<u64>,
pub reference: String,
pub start_date: Timestamp,
pub supported_types:
Option<Vec<SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes>>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsLink {
pub persistent_token: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsMandateOptionsAcssDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub custom_mandate_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_for: Option<Vec<SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor>>,
pub interval_description: Option<String>,
pub payment_schedule:
Option<SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule>,
pub transaction_type:
Option<SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsPaypal {
pub billing_agreement_id: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsSepaDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<SetupIntentPaymentMethodOptionsMandateOptionsSepaDebit>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsMandateOptionsSepaDebit {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct SetupIntentPaymentMethodOptionsUsBankAccount {
#[serde(skip_serializing_if = "Option::is_none")]
pub financial_connections: Option<LinkedAccountOptionsUsBankAccount>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<PaymentMethodOptionsUsBankAccountMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification_method: Option<SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod>,
}
#[derive(Clone, Debug, Serialize, Default)]
pub struct CreateSetupIntent<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_to_self: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub automatic_payment_methods: Option<CreateSetupIntentAutomaticPaymentMethods>,
#[serde(skip_serializing_if = "Option::is_none")]
pub confirm: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer: Option<CustomerId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<&'a str>,
#[serde(skip_serializing_if = "Expand::is_empty")]
pub expand: &'a [&'a str],
#[serde(skip_serializing_if = "Option::is_none")]
pub flow_directions: Option<Vec<CreateSetupIntentFlowDirections>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_data: Option<CreateSetupIntentMandateData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<Metadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub on_behalf_of: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method: Option<PaymentMethodId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_configuration: Option<PaymentMethodConfigurationId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_data: Option<CreateSetupIntentPaymentMethodData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_options: Option<CreateSetupIntentPaymentMethodOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_types: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_url: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub single_use: Option<CreateSetupIntentSingleUse>,
#[serde(skip_serializing_if = "Option::is_none")]
pub use_stripe_sdk: Option<bool>,
}
impl<'a> CreateSetupIntent<'a> {
pub fn new() -> Self {
CreateSetupIntent {
attach_to_self: Default::default(),
automatic_payment_methods: Default::default(),
confirm: Default::default(),
customer: Default::default(),
description: Default::default(),
expand: Default::default(),
flow_directions: Default::default(),
mandate_data: Default::default(),
metadata: Default::default(),
on_behalf_of: Default::default(),
payment_method: Default::default(),
payment_method_configuration: Default::default(),
payment_method_data: Default::default(),
payment_method_options: Default::default(),
payment_method_types: Default::default(),
return_url: Default::default(),
single_use: Default::default(),
use_stripe_sdk: Default::default(),
}
}
}
#[derive(Clone, Debug, Serialize, Default)]
pub struct ListSetupIntents<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_to_self: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created: Option<RangeQuery<Timestamp>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer: Option<CustomerId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ending_before: Option<SetupIntentId>,
#[serde(skip_serializing_if = "Expand::is_empty")]
pub expand: &'a [&'a str],
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<u64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method: Option<PaymentMethodId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub starting_after: Option<SetupIntentId>,
}
impl<'a> ListSetupIntents<'a> {
pub fn new() -> Self {
ListSetupIntents {
attach_to_self: Default::default(),
created: Default::default(),
customer: Default::default(),
ending_before: Default::default(),
expand: Default::default(),
limit: Default::default(),
payment_method: Default::default(),
starting_after: Default::default(),
}
}
}
impl Paginable for ListSetupIntents<'_> {
type O = SetupIntent;
fn set_last(&mut self, item: Self::O) {
self.starting_after = Some(item.id());
}
}
#[derive(Clone, Debug, Serialize, Default)]
pub struct UpdateSetupIntent<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
pub attach_to_self: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer: Option<CustomerId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<&'a str>,
#[serde(skip_serializing_if = "Expand::is_empty")]
pub expand: &'a [&'a str],
#[serde(skip_serializing_if = "Option::is_none")]
pub flow_directions: Option<Vec<UpdateSetupIntentFlowDirections>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<Metadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method: Option<PaymentMethodId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_configuration: Option<PaymentMethodConfigurationId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_data: Option<UpdateSetupIntentPaymentMethodData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_options: Option<UpdateSetupIntentPaymentMethodOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_types: Option<Vec<String>>,
}
impl<'a> UpdateSetupIntent<'a> {
pub fn new() -> Self {
UpdateSetupIntent {
attach_to_self: Default::default(),
customer: Default::default(),
description: Default::default(),
expand: Default::default(),
flow_directions: Default::default(),
metadata: Default::default(),
payment_method: Default::default(),
payment_method_configuration: Default::default(),
payment_method_data: Default::default(),
payment_method_options: Default::default(),
payment_method_types: Default::default(),
}
}
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentAutomaticPaymentMethods {
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_redirects: Option<CreateSetupIntentAutomaticPaymentMethodsAllowRedirects>,
pub enabled: bool,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentMandateData {
pub customer_acceptance: CreateSetupIntentMandateDataCustomerAcceptance,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodData {
#[serde(skip_serializing_if = "Option::is_none")]
pub acss_debit: Option<CreateSetupIntentPaymentMethodDataAcssDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub affirm: Option<CreateSetupIntentPaymentMethodDataAffirm>,
#[serde(skip_serializing_if = "Option::is_none")]
pub afterpay_clearpay: Option<CreateSetupIntentPaymentMethodDataAfterpayClearpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<CreateSetupIntentPaymentMethodDataAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub au_becs_debit: Option<CreateSetupIntentPaymentMethodDataAuBecsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bacs_debit: Option<CreateSetupIntentPaymentMethodDataBacsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<CreateSetupIntentPaymentMethodDataBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_details: Option<CreateSetupIntentPaymentMethodDataBillingDetails>,
#[serde(skip_serializing_if = "Option::is_none")]
pub blik: Option<CreateSetupIntentPaymentMethodDataBlik>,
#[serde(skip_serializing_if = "Option::is_none")]
pub boleto: Option<CreateSetupIntentPaymentMethodDataBoleto>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cashapp: Option<CreateSetupIntentPaymentMethodDataCashapp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer_balance: Option<CreateSetupIntentPaymentMethodDataCustomerBalance>,
#[serde(skip_serializing_if = "Option::is_none")]
pub eps: Option<CreateSetupIntentPaymentMethodDataEps>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fpx: Option<CreateSetupIntentPaymentMethodDataFpx>,
#[serde(skip_serializing_if = "Option::is_none")]
pub giropay: Option<CreateSetupIntentPaymentMethodDataGiropay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grabpay: Option<CreateSetupIntentPaymentMethodDataGrabpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ideal: Option<CreateSetupIntentPaymentMethodDataIdeal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interac_present: Option<CreateSetupIntentPaymentMethodDataInteracPresent>,
#[serde(skip_serializing_if = "Option::is_none")]
pub klarna: Option<CreateSetupIntentPaymentMethodDataKlarna>,
#[serde(skip_serializing_if = "Option::is_none")]
pub konbini: Option<CreateSetupIntentPaymentMethodDataKonbini>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<CreateSetupIntentPaymentMethodDataLink>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<Metadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<CreateSetupIntentPaymentMethodDataOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<CreateSetupIntentPaymentMethodDataP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paynow: Option<CreateSetupIntentPaymentMethodDataPaynow>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paypal: Option<CreateSetupIntentPaymentMethodDataPaypal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pix: Option<CreateSetupIntentPaymentMethodDataPix>,
#[serde(skip_serializing_if = "Option::is_none")]
pub promptpay: Option<CreateSetupIntentPaymentMethodDataPromptpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub radar_options: Option<CreateSetupIntentPaymentMethodDataRadarOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub revolut_pay: Option<CreateSetupIntentPaymentMethodDataRevolutPay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<CreateSetupIntentPaymentMethodDataSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<CreateSetupIntentPaymentMethodDataSofort>,
#[serde(skip_serializing_if = "Option::is_none")]
pub swish: Option<CreateSetupIntentPaymentMethodDataSwish>,
#[serde(rename = "type")]
pub type_: CreateSetupIntentPaymentMethodDataType,
#[serde(skip_serializing_if = "Option::is_none")]
pub us_bank_account: Option<CreateSetupIntentPaymentMethodDataUsBankAccount>,
#[serde(skip_serializing_if = "Option::is_none")]
pub wechat_pay: Option<CreateSetupIntentPaymentMethodDataWechatPay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub zip: Option<CreateSetupIntentPaymentMethodDataZip>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub acss_debit: Option<CreateSetupIntentPaymentMethodOptionsAcssDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub card: Option<CreateSetupIntentPaymentMethodOptionsCard>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<CreateSetupIntentPaymentMethodOptionsLink>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paypal: Option<CreateSetupIntentPaymentMethodOptionsPaypal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<CreateSetupIntentPaymentMethodOptionsSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub us_bank_account: Option<CreateSetupIntentPaymentMethodOptionsUsBankAccount>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentSingleUse {
pub amount: i64,
pub currency: Currency,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodData {
#[serde(skip_serializing_if = "Option::is_none")]
pub acss_debit: Option<UpdateSetupIntentPaymentMethodDataAcssDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub affirm: Option<UpdateSetupIntentPaymentMethodDataAffirm>,
#[serde(skip_serializing_if = "Option::is_none")]
pub afterpay_clearpay: Option<UpdateSetupIntentPaymentMethodDataAfterpayClearpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<UpdateSetupIntentPaymentMethodDataAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub au_becs_debit: Option<UpdateSetupIntentPaymentMethodDataAuBecsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bacs_debit: Option<UpdateSetupIntentPaymentMethodDataBacsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<UpdateSetupIntentPaymentMethodDataBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_details: Option<UpdateSetupIntentPaymentMethodDataBillingDetails>,
#[serde(skip_serializing_if = "Option::is_none")]
pub blik: Option<UpdateSetupIntentPaymentMethodDataBlik>,
#[serde(skip_serializing_if = "Option::is_none")]
pub boleto: Option<UpdateSetupIntentPaymentMethodDataBoleto>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cashapp: Option<UpdateSetupIntentPaymentMethodDataCashapp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer_balance: Option<UpdateSetupIntentPaymentMethodDataCustomerBalance>,
#[serde(skip_serializing_if = "Option::is_none")]
pub eps: Option<UpdateSetupIntentPaymentMethodDataEps>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fpx: Option<UpdateSetupIntentPaymentMethodDataFpx>,
#[serde(skip_serializing_if = "Option::is_none")]
pub giropay: Option<UpdateSetupIntentPaymentMethodDataGiropay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grabpay: Option<UpdateSetupIntentPaymentMethodDataGrabpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ideal: Option<UpdateSetupIntentPaymentMethodDataIdeal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interac_present: Option<UpdateSetupIntentPaymentMethodDataInteracPresent>,
#[serde(skip_serializing_if = "Option::is_none")]
pub klarna: Option<UpdateSetupIntentPaymentMethodDataKlarna>,
#[serde(skip_serializing_if = "Option::is_none")]
pub konbini: Option<UpdateSetupIntentPaymentMethodDataKonbini>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<UpdateSetupIntentPaymentMethodDataLink>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<Metadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<UpdateSetupIntentPaymentMethodDataOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<UpdateSetupIntentPaymentMethodDataP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paynow: Option<UpdateSetupIntentPaymentMethodDataPaynow>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paypal: Option<UpdateSetupIntentPaymentMethodDataPaypal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pix: Option<UpdateSetupIntentPaymentMethodDataPix>,
#[serde(skip_serializing_if = "Option::is_none")]
pub promptpay: Option<UpdateSetupIntentPaymentMethodDataPromptpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub radar_options: Option<UpdateSetupIntentPaymentMethodDataRadarOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub revolut_pay: Option<UpdateSetupIntentPaymentMethodDataRevolutPay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<UpdateSetupIntentPaymentMethodDataSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<UpdateSetupIntentPaymentMethodDataSofort>,
#[serde(skip_serializing_if = "Option::is_none")]
pub swish: Option<UpdateSetupIntentPaymentMethodDataSwish>,
#[serde(rename = "type")]
pub type_: UpdateSetupIntentPaymentMethodDataType,
#[serde(skip_serializing_if = "Option::is_none")]
pub us_bank_account: Option<UpdateSetupIntentPaymentMethodDataUsBankAccount>,
#[serde(skip_serializing_if = "Option::is_none")]
pub wechat_pay: Option<UpdateSetupIntentPaymentMethodDataWechatPay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub zip: Option<UpdateSetupIntentPaymentMethodDataZip>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub acss_debit: Option<UpdateSetupIntentPaymentMethodOptionsAcssDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub card: Option<UpdateSetupIntentPaymentMethodOptionsCard>,
#[serde(skip_serializing_if = "Option::is_none")]
pub link: Option<UpdateSetupIntentPaymentMethodOptionsLink>,
#[serde(skip_serializing_if = "Option::is_none")]
pub paypal: Option<UpdateSetupIntentPaymentMethodOptionsPaypal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<UpdateSetupIntentPaymentMethodOptionsSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub us_bank_account: Option<UpdateSetupIntentPaymentMethodOptionsUsBankAccount>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentMandateDataCustomerAcceptance {
#[serde(skip_serializing_if = "Option::is_none")]
pub accepted_at: Option<Timestamp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offline: Option<CreateSetupIntentMandateDataCustomerAcceptanceOffline>,
#[serde(skip_serializing_if = "Option::is_none")]
pub online: Option<CreateSetupIntentMandateDataCustomerAcceptanceOnline>,
#[serde(rename = "type")]
pub type_: CreateSetupIntentMandateDataCustomerAcceptanceType,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataAcssDebit {
pub account_number: String,
pub institution_number: String,
pub transit_number: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataAffirm {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataAfterpayClearpay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataAlipay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataAuBecsDebit {
pub account_number: String,
pub bsb_number: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataBacsDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub account_number: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sort_code: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataBancontact {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataBillingDetails {
#[serde(skip_serializing_if = "Option::is_none")]
pub address: Option<CreateSetupIntentPaymentMethodDataBillingDetailsAddress>,
#[serde(skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataBlik {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataBoleto {
pub tax_id: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataCashapp {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataCustomerBalance {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataEps {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<CreateSetupIntentPaymentMethodDataEpsBank>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataFpx {
#[serde(skip_serializing_if = "Option::is_none")]
pub account_holder_type: Option<CreateSetupIntentPaymentMethodDataFpxAccountHolderType>,
pub bank: CreateSetupIntentPaymentMethodDataFpxBank,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataGiropay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataGrabpay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataIdeal {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<CreateSetupIntentPaymentMethodDataIdealBank>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataInteracPresent {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataKlarna {
#[serde(skip_serializing_if = "Option::is_none")]
pub dob: Option<CreateSetupIntentPaymentMethodDataKlarnaDob>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataKonbini {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataLink {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataOxxo {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataP24 {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<CreateSetupIntentPaymentMethodDataP24Bank>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataPaynow {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataPaypal {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataPix {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataPromptpay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataRadarOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub session: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataRevolutPay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataSepaDebit {
pub iban: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataSofort {
pub country: CreateSetupIntentPaymentMethodDataSofortCountry,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataSwish {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataUsBankAccount {
#[serde(skip_serializing_if = "Option::is_none")]
pub account_holder_type:
Option<CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub account_number: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub account_type: Option<CreateSetupIntentPaymentMethodDataUsBankAccountAccountType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub financial_connections_account: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub routing_number: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataWechatPay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataZip {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsAcssDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub currency: Option<Currency>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification_method:
Option<CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsCard {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<CreateSetupIntentPaymentMethodOptionsCardMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub moto: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network: Option<CreateSetupIntentPaymentMethodOptionsCardNetwork>,
#[serde(skip_serializing_if = "Option::is_none")]
pub request_three_d_secure:
Option<CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure>,
#[serde(skip_serializing_if = "Option::is_none")]
pub three_d_secure: Option<CreateSetupIntentPaymentMethodOptionsCardThreeDSecure>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsLink {
#[serde(skip_serializing_if = "Option::is_none")]
pub persistent_token: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsPaypal {
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_agreement_id: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsSepaDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<CreateSetupIntentPaymentMethodOptionsSepaDebitMandateOptions>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsUsBankAccount {
#[serde(skip_serializing_if = "Option::is_none")]
pub financial_connections:
Option<CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub networks: Option<CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworks>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification_method:
Option<CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataAcssDebit {
pub account_number: String,
pub institution_number: String,
pub transit_number: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataAffirm {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataAfterpayClearpay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataAlipay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataAuBecsDebit {
pub account_number: String,
pub bsb_number: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataBacsDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub account_number: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sort_code: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataBancontact {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataBillingDetails {
#[serde(skip_serializing_if = "Option::is_none")]
pub address: Option<UpdateSetupIntentPaymentMethodDataBillingDetailsAddress>,
#[serde(skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataBlik {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataBoleto {
pub tax_id: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataCashapp {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataCustomerBalance {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataEps {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<UpdateSetupIntentPaymentMethodDataEpsBank>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataFpx {
#[serde(skip_serializing_if = "Option::is_none")]
pub account_holder_type: Option<UpdateSetupIntentPaymentMethodDataFpxAccountHolderType>,
pub bank: UpdateSetupIntentPaymentMethodDataFpxBank,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataGiropay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataGrabpay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataIdeal {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<UpdateSetupIntentPaymentMethodDataIdealBank>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataInteracPresent {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataKlarna {
#[serde(skip_serializing_if = "Option::is_none")]
pub dob: Option<UpdateSetupIntentPaymentMethodDataKlarnaDob>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataKonbini {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataLink {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataOxxo {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataP24 {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<UpdateSetupIntentPaymentMethodDataP24Bank>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataPaynow {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataPaypal {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataPix {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataPromptpay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataRadarOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub session: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataRevolutPay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataSepaDebit {
pub iban: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataSofort {
pub country: UpdateSetupIntentPaymentMethodDataSofortCountry,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataSwish {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataUsBankAccount {
#[serde(skip_serializing_if = "Option::is_none")]
pub account_holder_type:
Option<UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub account_number: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub account_type: Option<UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub financial_connections_account: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub routing_number: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataWechatPay {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataZip {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsAcssDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub currency: Option<Currency>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification_method:
Option<UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsCard {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<UpdateSetupIntentPaymentMethodOptionsCardMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub moto: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network: Option<UpdateSetupIntentPaymentMethodOptionsCardNetwork>,
#[serde(skip_serializing_if = "Option::is_none")]
pub request_three_d_secure:
Option<UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure>,
#[serde(skip_serializing_if = "Option::is_none")]
pub three_d_secure: Option<UpdateSetupIntentPaymentMethodOptionsCardThreeDSecure>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsLink {
#[serde(skip_serializing_if = "Option::is_none")]
pub persistent_token: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsPaypal {
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_agreement_id: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsSepaDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<UpdateSetupIntentPaymentMethodOptionsSepaDebitMandateOptions>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsUsBankAccount {
#[serde(skip_serializing_if = "Option::is_none")]
pub financial_connections:
Option<UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub networks: Option<UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworks>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verification_method:
Option<UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentMandateDataCustomerAcceptanceOffline {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentMandateDataCustomerAcceptanceOnline {
pub ip_address: String,
pub user_agent: String,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataBillingDetailsAddress {
#[serde(skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub line1: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub line2: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodDataKlarnaDob {
pub day: i64,
pub month: i64,
pub year: i64,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub custom_mandate_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_for:
Option<Vec<CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interval_description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_schedule:
Option<CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transaction_type:
Option<CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsCardMandateOptions {
pub amount: i64,
pub amount_type: CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType,
pub currency: Currency,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub end_date: Option<Timestamp>,
pub interval: CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval,
#[serde(skip_serializing_if = "Option::is_none")]
pub interval_count: Option<u64>,
pub reference: String,
pub start_date: Timestamp,
#[serde(skip_serializing_if = "Option::is_none")]
pub supported_types:
Option<Vec<CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes>>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsCardThreeDSecure {
#[serde(skip_serializing_if = "Option::is_none")]
pub ares_trans_status:
Option<CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cryptogram: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub electronic_commerce_indicator:
Option<CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_options:
Option<CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestor_challenge_indicator: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transaction_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsSepaDebitMandateOptions {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections {
#[serde(skip_serializing_if = "Option::is_none")]
pub permissions: Option<
Vec<CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions>,
>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prefetch:
Option<Vec<CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_url: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub collection_method:
Option<CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworks {
#[serde(skip_serializing_if = "Option::is_none")]
pub requested: Option<Vec<CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested>>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataBillingDetailsAddress {
#[serde(skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub line1: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub line2: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub postal_code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodDataKlarnaDob {
pub day: i64,
pub month: i64,
pub year: i64,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub custom_mandate_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default_for:
Option<Vec<UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interval_description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_schedule:
Option<UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transaction_type:
Option<UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsCardMandateOptions {
pub amount: i64,
pub amount_type: UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType,
pub currency: Currency,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub end_date: Option<Timestamp>,
pub interval: UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval,
#[serde(skip_serializing_if = "Option::is_none")]
pub interval_count: Option<u64>,
pub reference: String,
pub start_date: Timestamp,
#[serde(skip_serializing_if = "Option::is_none")]
pub supported_types:
Option<Vec<UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes>>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsCardThreeDSecure {
#[serde(skip_serializing_if = "Option::is_none")]
pub ares_trans_status:
Option<UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cryptogram: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub electronic_commerce_indicator:
Option<UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network_options:
Option<UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub requestor_challenge_indicator: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transaction_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsSepaDebitMandateOptions {}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnections {
#[serde(skip_serializing_if = "Option::is_none")]
pub permissions: Option<
Vec<UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions>,
>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prefetch:
Option<Vec<UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_url: Option<String>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub collection_method:
Option<UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworks {
#[serde(skip_serializing_if = "Option::is_none")]
pub requested: Option<Vec<UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested>>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub cartes_bancaires:
Option<CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub cartes_bancaires:
Option<UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires {
pub cb_avalgo:
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo,
#[serde(skip_serializing_if = "Option::is_none")]
pub cb_exemption: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cb_score: Option<i64>,
}
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires {
pub cb_avalgo:
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo,
#[serde(skip_serializing_if = "Option::is_none")]
pub cb_exemption: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cb_score: Option<i64>,
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentAutomaticPaymentMethodsAllowRedirects {
Always,
Never,
}
impl CreateSetupIntentAutomaticPaymentMethodsAllowRedirects {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentAutomaticPaymentMethodsAllowRedirects::Always => "always",
CreateSetupIntentAutomaticPaymentMethodsAllowRedirects::Never => "never",
}
}
}
impl AsRef<str> for CreateSetupIntentAutomaticPaymentMethodsAllowRedirects {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentAutomaticPaymentMethodsAllowRedirects {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentAutomaticPaymentMethodsAllowRedirects {
fn default() -> Self {
Self::Always
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentFlowDirections {
Inbound,
Outbound,
}
impl CreateSetupIntentFlowDirections {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentFlowDirections::Inbound => "inbound",
CreateSetupIntentFlowDirections::Outbound => "outbound",
}
}
}
impl AsRef<str> for CreateSetupIntentFlowDirections {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentFlowDirections {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentFlowDirections {
fn default() -> Self {
Self::Inbound
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentMandateDataCustomerAcceptanceType {
Offline,
Online,
}
impl CreateSetupIntentMandateDataCustomerAcceptanceType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentMandateDataCustomerAcceptanceType::Offline => "offline",
CreateSetupIntentMandateDataCustomerAcceptanceType::Online => "online",
}
}
}
impl AsRef<str> for CreateSetupIntentMandateDataCustomerAcceptanceType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentMandateDataCustomerAcceptanceType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentMandateDataCustomerAcceptanceType {
fn default() -> Self {
Self::Offline
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataEpsBank {
ArzteUndApothekerBank,
AustrianAnadiBankAg,
BankAustria,
BankhausCarlSpangler,
BankhausSchelhammerUndSchatteraAg,
BawagPskAg,
BksBankAg,
BrullKallmusBankAg,
BtvVierLanderBank,
CapitalBankGraweGruppeAg,
DeutscheBankAg,
Dolomitenbank,
EasybankAg,
ErsteBankUndSparkassen,
HypoAlpeadriabankInternationalAg,
HypoBankBurgenlandAktiengesellschaft,
HypoNoeLbFurNiederosterreichUWien,
HypoOberosterreichSalzburgSteiermark,
HypoTirolBankAg,
HypoVorarlbergBankAg,
MarchfelderBank,
OberbankAg,
RaiffeisenBankengruppeOsterreich,
SchoellerbankAg,
SpardaBankWien,
VolksbankGruppe,
VolkskreditbankAg,
VrBankBraunau,
}
impl CreateSetupIntentPaymentMethodDataEpsBank {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataEpsBank::ArzteUndApothekerBank => {
"arzte_und_apotheker_bank"
}
CreateSetupIntentPaymentMethodDataEpsBank::AustrianAnadiBankAg => {
"austrian_anadi_bank_ag"
}
CreateSetupIntentPaymentMethodDataEpsBank::BankAustria => "bank_austria",
CreateSetupIntentPaymentMethodDataEpsBank::BankhausCarlSpangler => {
"bankhaus_carl_spangler"
}
CreateSetupIntentPaymentMethodDataEpsBank::BankhausSchelhammerUndSchatteraAg => {
"bankhaus_schelhammer_und_schattera_ag"
}
CreateSetupIntentPaymentMethodDataEpsBank::BawagPskAg => "bawag_psk_ag",
CreateSetupIntentPaymentMethodDataEpsBank::BksBankAg => "bks_bank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::BrullKallmusBankAg => {
"brull_kallmus_bank_ag"
}
CreateSetupIntentPaymentMethodDataEpsBank::BtvVierLanderBank => "btv_vier_lander_bank",
CreateSetupIntentPaymentMethodDataEpsBank::CapitalBankGraweGruppeAg => {
"capital_bank_grawe_gruppe_ag"
}
CreateSetupIntentPaymentMethodDataEpsBank::DeutscheBankAg => "deutsche_bank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::Dolomitenbank => "dolomitenbank",
CreateSetupIntentPaymentMethodDataEpsBank::EasybankAg => "easybank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::ErsteBankUndSparkassen => {
"erste_bank_und_sparkassen"
}
CreateSetupIntentPaymentMethodDataEpsBank::HypoAlpeadriabankInternationalAg => {
"hypo_alpeadriabank_international_ag"
}
CreateSetupIntentPaymentMethodDataEpsBank::HypoBankBurgenlandAktiengesellschaft => {
"hypo_bank_burgenland_aktiengesellschaft"
}
CreateSetupIntentPaymentMethodDataEpsBank::HypoNoeLbFurNiederosterreichUWien => {
"hypo_noe_lb_fur_niederosterreich_u_wien"
}
CreateSetupIntentPaymentMethodDataEpsBank::HypoOberosterreichSalzburgSteiermark => {
"hypo_oberosterreich_salzburg_steiermark"
}
CreateSetupIntentPaymentMethodDataEpsBank::HypoTirolBankAg => "hypo_tirol_bank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::HypoVorarlbergBankAg => {
"hypo_vorarlberg_bank_ag"
}
CreateSetupIntentPaymentMethodDataEpsBank::MarchfelderBank => "marchfelder_bank",
CreateSetupIntentPaymentMethodDataEpsBank::OberbankAg => "oberbank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::RaiffeisenBankengruppeOsterreich => {
"raiffeisen_bankengruppe_osterreich"
}
CreateSetupIntentPaymentMethodDataEpsBank::SchoellerbankAg => "schoellerbank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::SpardaBankWien => "sparda_bank_wien",
CreateSetupIntentPaymentMethodDataEpsBank::VolksbankGruppe => "volksbank_gruppe",
CreateSetupIntentPaymentMethodDataEpsBank::VolkskreditbankAg => "volkskreditbank_ag",
CreateSetupIntentPaymentMethodDataEpsBank::VrBankBraunau => "vr_bank_braunau",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataEpsBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataEpsBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataEpsBank {
fn default() -> Self {
Self::ArzteUndApothekerBank
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataFpxAccountHolderType {
Company,
Individual,
}
impl CreateSetupIntentPaymentMethodDataFpxAccountHolderType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataFpxAccountHolderType::Company => "company",
CreateSetupIntentPaymentMethodDataFpxAccountHolderType::Individual => "individual",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataFpxAccountHolderType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataFpxAccountHolderType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataFpxAccountHolderType {
fn default() -> Self {
Self::Company
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataFpxBank {
AffinBank,
Agrobank,
AllianceBank,
Ambank,
BankIslam,
BankMuamalat,
BankOfChina,
BankRakyat,
Bsn,
Cimb,
DeutscheBank,
HongLeongBank,
Hsbc,
Kfh,
Maybank2e,
Maybank2u,
Ocbc,
PbEnterprise,
PublicBank,
Rhb,
StandardChartered,
Uob,
}
impl CreateSetupIntentPaymentMethodDataFpxBank {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataFpxBank::AffinBank => "affin_bank",
CreateSetupIntentPaymentMethodDataFpxBank::Agrobank => "agrobank",
CreateSetupIntentPaymentMethodDataFpxBank::AllianceBank => "alliance_bank",
CreateSetupIntentPaymentMethodDataFpxBank::Ambank => "ambank",
CreateSetupIntentPaymentMethodDataFpxBank::BankIslam => "bank_islam",
CreateSetupIntentPaymentMethodDataFpxBank::BankMuamalat => "bank_muamalat",
CreateSetupIntentPaymentMethodDataFpxBank::BankOfChina => "bank_of_china",
CreateSetupIntentPaymentMethodDataFpxBank::BankRakyat => "bank_rakyat",
CreateSetupIntentPaymentMethodDataFpxBank::Bsn => "bsn",
CreateSetupIntentPaymentMethodDataFpxBank::Cimb => "cimb",
CreateSetupIntentPaymentMethodDataFpxBank::DeutscheBank => "deutsche_bank",
CreateSetupIntentPaymentMethodDataFpxBank::HongLeongBank => "hong_leong_bank",
CreateSetupIntentPaymentMethodDataFpxBank::Hsbc => "hsbc",
CreateSetupIntentPaymentMethodDataFpxBank::Kfh => "kfh",
CreateSetupIntentPaymentMethodDataFpxBank::Maybank2e => "maybank2e",
CreateSetupIntentPaymentMethodDataFpxBank::Maybank2u => "maybank2u",
CreateSetupIntentPaymentMethodDataFpxBank::Ocbc => "ocbc",
CreateSetupIntentPaymentMethodDataFpxBank::PbEnterprise => "pb_enterprise",
CreateSetupIntentPaymentMethodDataFpxBank::PublicBank => "public_bank",
CreateSetupIntentPaymentMethodDataFpxBank::Rhb => "rhb",
CreateSetupIntentPaymentMethodDataFpxBank::StandardChartered => "standard_chartered",
CreateSetupIntentPaymentMethodDataFpxBank::Uob => "uob",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataFpxBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataFpxBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataFpxBank {
fn default() -> Self {
Self::AffinBank
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataIdealBank {
AbnAmro,
AsnBank,
Bunq,
Handelsbanken,
Ing,
Knab,
Moneyou,
N26,
Nn,
Rabobank,
Regiobank,
Revolut,
SnsBank,
TriodosBank,
VanLanschot,
Yoursafe,
}
impl CreateSetupIntentPaymentMethodDataIdealBank {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataIdealBank::AbnAmro => "abn_amro",
CreateSetupIntentPaymentMethodDataIdealBank::AsnBank => "asn_bank",
CreateSetupIntentPaymentMethodDataIdealBank::Bunq => "bunq",
CreateSetupIntentPaymentMethodDataIdealBank::Handelsbanken => "handelsbanken",
CreateSetupIntentPaymentMethodDataIdealBank::Ing => "ing",
CreateSetupIntentPaymentMethodDataIdealBank::Knab => "knab",
CreateSetupIntentPaymentMethodDataIdealBank::Moneyou => "moneyou",
CreateSetupIntentPaymentMethodDataIdealBank::N26 => "n26",
CreateSetupIntentPaymentMethodDataIdealBank::Nn => "nn",
CreateSetupIntentPaymentMethodDataIdealBank::Rabobank => "rabobank",
CreateSetupIntentPaymentMethodDataIdealBank::Regiobank => "regiobank",
CreateSetupIntentPaymentMethodDataIdealBank::Revolut => "revolut",
CreateSetupIntentPaymentMethodDataIdealBank::SnsBank => "sns_bank",
CreateSetupIntentPaymentMethodDataIdealBank::TriodosBank => "triodos_bank",
CreateSetupIntentPaymentMethodDataIdealBank::VanLanschot => "van_lanschot",
CreateSetupIntentPaymentMethodDataIdealBank::Yoursafe => "yoursafe",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataIdealBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataIdealBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataIdealBank {
fn default() -> Self {
Self::AbnAmro
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataP24Bank {
AliorBank,
BankMillennium,
BankNowyBfgSa,
BankPekaoSa,
BankiSpbdzielcze,
Blik,
BnpParibas,
Boz,
CitiHandlowy,
CreditAgricole,
Envelobank,
EtransferPocztowy24,
GetinBank,
Ideabank,
Ing,
Inteligo,
MbankMtransfer,
NestPrzelew,
NoblePay,
PbacZIpko,
PlusBank,
SantanderPrzelew24,
TmobileUsbugiBankowe,
ToyotaBank,
Velobank,
VolkswagenBank,
}
impl CreateSetupIntentPaymentMethodDataP24Bank {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataP24Bank::AliorBank => "alior_bank",
CreateSetupIntentPaymentMethodDataP24Bank::BankMillennium => "bank_millennium",
CreateSetupIntentPaymentMethodDataP24Bank::BankNowyBfgSa => "bank_nowy_bfg_sa",
CreateSetupIntentPaymentMethodDataP24Bank::BankPekaoSa => "bank_pekao_sa",
CreateSetupIntentPaymentMethodDataP24Bank::BankiSpbdzielcze => "banki_spbdzielcze",
CreateSetupIntentPaymentMethodDataP24Bank::Blik => "blik",
CreateSetupIntentPaymentMethodDataP24Bank::BnpParibas => "bnp_paribas",
CreateSetupIntentPaymentMethodDataP24Bank::Boz => "boz",
CreateSetupIntentPaymentMethodDataP24Bank::CitiHandlowy => "citi_handlowy",
CreateSetupIntentPaymentMethodDataP24Bank::CreditAgricole => "credit_agricole",
CreateSetupIntentPaymentMethodDataP24Bank::Envelobank => "envelobank",
CreateSetupIntentPaymentMethodDataP24Bank::EtransferPocztowy24 => {
"etransfer_pocztowy24"
}
CreateSetupIntentPaymentMethodDataP24Bank::GetinBank => "getin_bank",
CreateSetupIntentPaymentMethodDataP24Bank::Ideabank => "ideabank",
CreateSetupIntentPaymentMethodDataP24Bank::Ing => "ing",
CreateSetupIntentPaymentMethodDataP24Bank::Inteligo => "inteligo",
CreateSetupIntentPaymentMethodDataP24Bank::MbankMtransfer => "mbank_mtransfer",
CreateSetupIntentPaymentMethodDataP24Bank::NestPrzelew => "nest_przelew",
CreateSetupIntentPaymentMethodDataP24Bank::NoblePay => "noble_pay",
CreateSetupIntentPaymentMethodDataP24Bank::PbacZIpko => "pbac_z_ipko",
CreateSetupIntentPaymentMethodDataP24Bank::PlusBank => "plus_bank",
CreateSetupIntentPaymentMethodDataP24Bank::SantanderPrzelew24 => "santander_przelew24",
CreateSetupIntentPaymentMethodDataP24Bank::TmobileUsbugiBankowe => {
"tmobile_usbugi_bankowe"
}
CreateSetupIntentPaymentMethodDataP24Bank::ToyotaBank => "toyota_bank",
CreateSetupIntentPaymentMethodDataP24Bank::Velobank => "velobank",
CreateSetupIntentPaymentMethodDataP24Bank::VolkswagenBank => "volkswagen_bank",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataP24Bank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataP24Bank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataP24Bank {
fn default() -> Self {
Self::AliorBank
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataSofortCountry {
#[serde(rename = "AT")]
At,
#[serde(rename = "BE")]
Be,
#[serde(rename = "DE")]
De,
#[serde(rename = "ES")]
Es,
#[serde(rename = "IT")]
It,
#[serde(rename = "NL")]
Nl,
}
impl CreateSetupIntentPaymentMethodDataSofortCountry {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataSofortCountry::At => "AT",
CreateSetupIntentPaymentMethodDataSofortCountry::Be => "BE",
CreateSetupIntentPaymentMethodDataSofortCountry::De => "DE",
CreateSetupIntentPaymentMethodDataSofortCountry::Es => "ES",
CreateSetupIntentPaymentMethodDataSofortCountry::It => "IT",
CreateSetupIntentPaymentMethodDataSofortCountry::Nl => "NL",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataSofortCountry {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataSofortCountry {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataSofortCountry {
fn default() -> Self {
Self::At
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataType {
AcssDebit,
Affirm,
AfterpayClearpay,
Alipay,
AuBecsDebit,
BacsDebit,
Bancontact,
Blik,
Boleto,
Cashapp,
CustomerBalance,
Eps,
Fpx,
Giropay,
Grabpay,
Ideal,
Klarna,
Konbini,
Link,
Oxxo,
P24,
Paynow,
Paypal,
Pix,
Promptpay,
RevolutPay,
SepaDebit,
Sofort,
Swish,
UsBankAccount,
WechatPay,
Zip,
}
impl CreateSetupIntentPaymentMethodDataType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataType::AcssDebit => "acss_debit",
CreateSetupIntentPaymentMethodDataType::Affirm => "affirm",
CreateSetupIntentPaymentMethodDataType::AfterpayClearpay => "afterpay_clearpay",
CreateSetupIntentPaymentMethodDataType::Alipay => "alipay",
CreateSetupIntentPaymentMethodDataType::AuBecsDebit => "au_becs_debit",
CreateSetupIntentPaymentMethodDataType::BacsDebit => "bacs_debit",
CreateSetupIntentPaymentMethodDataType::Bancontact => "bancontact",
CreateSetupIntentPaymentMethodDataType::Blik => "blik",
CreateSetupIntentPaymentMethodDataType::Boleto => "boleto",
CreateSetupIntentPaymentMethodDataType::Cashapp => "cashapp",
CreateSetupIntentPaymentMethodDataType::CustomerBalance => "customer_balance",
CreateSetupIntentPaymentMethodDataType::Eps => "eps",
CreateSetupIntentPaymentMethodDataType::Fpx => "fpx",
CreateSetupIntentPaymentMethodDataType::Giropay => "giropay",
CreateSetupIntentPaymentMethodDataType::Grabpay => "grabpay",
CreateSetupIntentPaymentMethodDataType::Ideal => "ideal",
CreateSetupIntentPaymentMethodDataType::Klarna => "klarna",
CreateSetupIntentPaymentMethodDataType::Konbini => "konbini",
CreateSetupIntentPaymentMethodDataType::Link => "link",
CreateSetupIntentPaymentMethodDataType::Oxxo => "oxxo",
CreateSetupIntentPaymentMethodDataType::P24 => "p24",
CreateSetupIntentPaymentMethodDataType::Paynow => "paynow",
CreateSetupIntentPaymentMethodDataType::Paypal => "paypal",
CreateSetupIntentPaymentMethodDataType::Pix => "pix",
CreateSetupIntentPaymentMethodDataType::Promptpay => "promptpay",
CreateSetupIntentPaymentMethodDataType::RevolutPay => "revolut_pay",
CreateSetupIntentPaymentMethodDataType::SepaDebit => "sepa_debit",
CreateSetupIntentPaymentMethodDataType::Sofort => "sofort",
CreateSetupIntentPaymentMethodDataType::Swish => "swish",
CreateSetupIntentPaymentMethodDataType::UsBankAccount => "us_bank_account",
CreateSetupIntentPaymentMethodDataType::WechatPay => "wechat_pay",
CreateSetupIntentPaymentMethodDataType::Zip => "zip",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataType {
fn default() -> Self {
Self::AcssDebit
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
Company,
Individual,
}
impl CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType::Company => "company",
CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType::Individual => {
"individual"
}
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
fn default() -> Self {
Self::Company
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodDataUsBankAccountAccountType {
Checking,
Savings,
}
impl CreateSetupIntentPaymentMethodDataUsBankAccountAccountType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodDataUsBankAccountAccountType::Checking => "checking",
CreateSetupIntentPaymentMethodDataUsBankAccountAccountType::Savings => "savings",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodDataUsBankAccountAccountType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodDataUsBankAccountAccountType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodDataUsBankAccountAccountType {
fn default() -> Self {
Self::Checking
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
Invoice,
Subscription,
}
impl CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor::Invoice => "invoice",
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor::Subscription => "subscription",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor
{
fn default() -> Self {
Self::Invoice
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule {
Combined,
Interval,
Sporadic,
}
impl CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule::Combined => "combined",
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule::Interval => "interval",
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule::Sporadic => "sporadic",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule
{
fn default() -> Self {
Self::Combined
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType {
Business,
Personal,
}
impl CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType::Business => "business",
CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType::Personal => "personal",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType
{
fn default() -> Self {
Self::Business
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
Automatic,
Instant,
Microdeposits,
}
impl CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Automatic => {
"automatic"
}
CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Instant => "instant",
CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Microdeposits => {
"microdeposits"
}
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn default() -> Self {
Self::Automatic
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
Fixed,
Maximum,
}
impl CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType::Fixed => "fixed",
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType::Maximum => "maximum",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn default() -> Self {
Self::Fixed
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
Day,
Month,
Sporadic,
Week,
Year,
}
impl CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Day => "day",
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Month => "month",
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Sporadic => "sporadic",
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Week => "week",
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Year => "year",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn default() -> Self {
Self::Day
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
India,
}
impl CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes::India => "india",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes
{
fn default() -> Self {
Self::India
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardNetwork {
Amex,
CartesBancaires,
Diners,
Discover,
EftposAu,
Interac,
Jcb,
Mastercard,
Unionpay,
Unknown,
Visa,
}
impl CreateSetupIntentPaymentMethodOptionsCardNetwork {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardNetwork::Amex => "amex",
CreateSetupIntentPaymentMethodOptionsCardNetwork::CartesBancaires => "cartes_bancaires",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Diners => "diners",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Discover => "discover",
CreateSetupIntentPaymentMethodOptionsCardNetwork::EftposAu => "eftpos_au",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Interac => "interac",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Jcb => "jcb",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Mastercard => "mastercard",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Unionpay => "unionpay",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Unknown => "unknown",
CreateSetupIntentPaymentMethodOptionsCardNetwork::Visa => "visa",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardNetwork {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsCardNetwork {
fn default() -> Self {
Self::Amex
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
Any,
Automatic,
Challenge,
}
impl CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Any => "any",
CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Automatic => "automatic",
CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Challenge => "challenge",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn default() -> Self {
Self::Any
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
#[serde(rename = "A")]
A,
#[serde(rename = "C")]
C,
#[serde(rename = "I")]
I,
#[serde(rename = "N")]
N,
#[serde(rename = "R")]
R,
#[serde(rename = "U")]
U,
#[serde(rename = "Y")]
Y,
}
impl CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::A => "A",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::C => "C",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::I => "I",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::N => "N",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::R => "R",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::U => "U",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::Y => "Y",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus
{
fn default() -> Self {
Self::A
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator {
#[serde(rename = "01")]
V01,
#[serde(rename = "02")]
V02,
#[serde(rename = "05")]
V05,
#[serde(rename = "06")]
V06,
#[serde(rename = "07")]
V07,
}
impl CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V01 => "01",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V02 => "02",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V05 => "05",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V06 => "06",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V07 => "07",
}
}
}
impl AsRef<str>
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator
{
fn default() -> Self {
Self::V01
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
#[serde(rename = "0")]
V0,
#[serde(rename = "1")]
V1,
#[serde(rename = "2")]
V2,
#[serde(rename = "3")]
V3,
#[serde(rename = "4")]
V4,
#[serde(rename = "A")]
A,
}
impl CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V0 => "0",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V1 => "1",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V2 => "2",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V3 => "3",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V4 => "4",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::A => "A",
}
}
}
impl AsRef<str>
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
fn default() -> Self {
Self::V0
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
#[serde(rename = "1.0.2")]
V1_0_2,
#[serde(rename = "2.1.0")]
V2_1_0,
#[serde(rename = "2.2.0")]
V2_2_0,
}
impl CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion::V1_0_2 => "1.0.2",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion::V2_1_0 => "2.1.0",
CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion::V2_2_0 => "2.2.0",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
fn default() -> Self {
Self::V1_0_2
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions {
Balances,
Ownership,
PaymentMethod,
Transactions,
}
impl CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::Balances => "balances",
CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::Ownership => "ownership",
CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::PaymentMethod => "payment_method",
CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::Transactions => "transactions",
}
}
}
impl AsRef<str>
for CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions
{
fn default() -> Self {
Self::Balances
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch {
Balances,
Transactions,
}
impl CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch::Balances => "balances",
CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch::Transactions => "transactions",
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch
{
fn default() -> Self {
Self::Balances
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod {
Paper,
}
impl CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod::Paper => "paper",
}
}
}
impl AsRef<str>
for CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod
{
fn default() -> Self {
Self::Paper
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
Ach,
UsDomesticWire,
}
impl CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested::Ach => "ach",
CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested::UsDomesticWire => {
"us_domestic_wire"
}
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for CreateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
fn default() -> Self {
Self::Ach
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
Automatic,
Instant,
Microdeposits,
}
impl CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
pub fn as_str(self) -> &'static str {
match self {
CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Automatic => {
"automatic"
}
CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Instant => {
"instant"
}
CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Microdeposits => {
"microdeposits"
}
}
}
}
impl AsRef<str> for CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for CreateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod
{
fn default() -> Self {
Self::Automatic
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects {
Always,
Never,
}
impl PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects {
pub fn as_str(self) -> &'static str {
match self {
PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects::Always => "always",
PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects::Never => "never",
}
}
}
impl AsRef<str> for PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for PaymentFlowsAutomaticPaymentMethodsSetupIntentAllowRedirects {
fn default() -> Self {
Self::Always
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentCancellationReason {
Abandoned,
Duplicate,
RequestedByCustomer,
}
impl SetupIntentCancellationReason {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentCancellationReason::Abandoned => "abandoned",
SetupIntentCancellationReason::Duplicate => "duplicate",
SetupIntentCancellationReason::RequestedByCustomer => "requested_by_customer",
}
}
}
impl AsRef<str> for SetupIntentCancellationReason {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentCancellationReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentCancellationReason {
fn default() -> Self {
Self::Abandoned
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentFlowDirections {
Inbound,
Outbound,
}
impl SetupIntentFlowDirections {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentFlowDirections::Inbound => "inbound",
SetupIntentFlowDirections::Outbound => "outbound",
}
}
}
impl AsRef<str> for SetupIntentFlowDirections {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentFlowDirections {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentFlowDirections {
fn default() -> Self {
Self::Inbound
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType {
Amounts,
DescriptorCode,
}
impl SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType::Amounts => "amounts",
SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType::DescriptorCode => {
"descriptor_code"
}
}
}
}
impl AsRef<str> for SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentNextActionVerifyWithMicrodepositsMicrodepositType {
fn default() -> Self {
Self::Amounts
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
Automatic,
Instant,
Microdeposits,
}
impl SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Automatic => "automatic",
SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Instant => "instant",
SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Microdeposits => {
"microdeposits"
}
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn default() -> Self {
Self::Automatic
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
Fixed,
Maximum,
}
impl SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType::Fixed => "fixed",
SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType::Maximum => "maximum",
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn default() -> Self {
Self::Fixed
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
Day,
Month,
Sporadic,
Week,
Year,
}
impl SetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Day => "day",
SetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Month => "month",
SetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Sporadic => "sporadic",
SetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Week => "week",
SetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Year => "year",
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn default() -> Self {
Self::Day
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
India,
}
impl SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes::India => "india",
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn default() -> Self {
Self::India
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsCardNetwork {
Amex,
CartesBancaires,
Diners,
Discover,
EftposAu,
Interac,
Jcb,
Mastercard,
Unionpay,
Unknown,
Visa,
}
impl SetupIntentPaymentMethodOptionsCardNetwork {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsCardNetwork::Amex => "amex",
SetupIntentPaymentMethodOptionsCardNetwork::CartesBancaires => "cartes_bancaires",
SetupIntentPaymentMethodOptionsCardNetwork::Diners => "diners",
SetupIntentPaymentMethodOptionsCardNetwork::Discover => "discover",
SetupIntentPaymentMethodOptionsCardNetwork::EftposAu => "eftpos_au",
SetupIntentPaymentMethodOptionsCardNetwork::Interac => "interac",
SetupIntentPaymentMethodOptionsCardNetwork::Jcb => "jcb",
SetupIntentPaymentMethodOptionsCardNetwork::Mastercard => "mastercard",
SetupIntentPaymentMethodOptionsCardNetwork::Unionpay => "unionpay",
SetupIntentPaymentMethodOptionsCardNetwork::Unknown => "unknown",
SetupIntentPaymentMethodOptionsCardNetwork::Visa => "visa",
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsCardNetwork {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsCardNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsCardNetwork {
fn default() -> Self {
Self::Amex
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
Any,
Automatic,
Challenge,
}
impl SetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Any => "any",
SetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Automatic => "automatic",
SetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Challenge => "challenge",
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn default() -> Self {
Self::Any
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor {
Invoice,
Subscription,
}
impl SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor::Invoice => "invoice",
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor::Subscription => {
"subscription"
}
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitDefaultFor {
fn default() -> Self {
Self::Invoice
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule {
Combined,
Interval,
Sporadic,
}
impl SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule::Combined => {
"combined"
}
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule::Interval => {
"interval"
}
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule::Sporadic => {
"sporadic"
}
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitPaymentSchedule
{
fn default() -> Self {
Self::Combined
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType {
Business,
Personal,
}
impl SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType::Business => {
"business"
}
SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType::Personal => {
"personal"
}
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for SetupIntentPaymentMethodOptionsMandateOptionsAcssDebitTransactionType
{
fn default() -> Self {
Self::Business
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
Automatic,
Instant,
Microdeposits,
}
impl SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Automatic => {
"automatic"
}
SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Instant => "instant",
SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Microdeposits => {
"microdeposits"
}
}
}
}
impl AsRef<str> for SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn default() -> Self {
Self::Automatic
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum SetupIntentStatus {
Canceled,
Processing,
RequiresAction,
RequiresConfirmation,
RequiresPaymentMethod,
Succeeded,
}
impl SetupIntentStatus {
pub fn as_str(self) -> &'static str {
match self {
SetupIntentStatus::Canceled => "canceled",
SetupIntentStatus::Processing => "processing",
SetupIntentStatus::RequiresAction => "requires_action",
SetupIntentStatus::RequiresConfirmation => "requires_confirmation",
SetupIntentStatus::RequiresPaymentMethod => "requires_payment_method",
SetupIntentStatus::Succeeded => "succeeded",
}
}
}
impl AsRef<str> for SetupIntentStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for SetupIntentStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for SetupIntentStatus {
fn default() -> Self {
Self::Canceled
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentFlowDirections {
Inbound,
Outbound,
}
impl UpdateSetupIntentFlowDirections {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentFlowDirections::Inbound => "inbound",
UpdateSetupIntentFlowDirections::Outbound => "outbound",
}
}
}
impl AsRef<str> for UpdateSetupIntentFlowDirections {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentFlowDirections {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentFlowDirections {
fn default() -> Self {
Self::Inbound
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataEpsBank {
ArzteUndApothekerBank,
AustrianAnadiBankAg,
BankAustria,
BankhausCarlSpangler,
BankhausSchelhammerUndSchatteraAg,
BawagPskAg,
BksBankAg,
BrullKallmusBankAg,
BtvVierLanderBank,
CapitalBankGraweGruppeAg,
DeutscheBankAg,
Dolomitenbank,
EasybankAg,
ErsteBankUndSparkassen,
HypoAlpeadriabankInternationalAg,
HypoBankBurgenlandAktiengesellschaft,
HypoNoeLbFurNiederosterreichUWien,
HypoOberosterreichSalzburgSteiermark,
HypoTirolBankAg,
HypoVorarlbergBankAg,
MarchfelderBank,
OberbankAg,
RaiffeisenBankengruppeOsterreich,
SchoellerbankAg,
SpardaBankWien,
VolksbankGruppe,
VolkskreditbankAg,
VrBankBraunau,
}
impl UpdateSetupIntentPaymentMethodDataEpsBank {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataEpsBank::ArzteUndApothekerBank => {
"arzte_und_apotheker_bank"
}
UpdateSetupIntentPaymentMethodDataEpsBank::AustrianAnadiBankAg => {
"austrian_anadi_bank_ag"
}
UpdateSetupIntentPaymentMethodDataEpsBank::BankAustria => "bank_austria",
UpdateSetupIntentPaymentMethodDataEpsBank::BankhausCarlSpangler => {
"bankhaus_carl_spangler"
}
UpdateSetupIntentPaymentMethodDataEpsBank::BankhausSchelhammerUndSchatteraAg => {
"bankhaus_schelhammer_und_schattera_ag"
}
UpdateSetupIntentPaymentMethodDataEpsBank::BawagPskAg => "bawag_psk_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::BksBankAg => "bks_bank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::BrullKallmusBankAg => {
"brull_kallmus_bank_ag"
}
UpdateSetupIntentPaymentMethodDataEpsBank::BtvVierLanderBank => "btv_vier_lander_bank",
UpdateSetupIntentPaymentMethodDataEpsBank::CapitalBankGraweGruppeAg => {
"capital_bank_grawe_gruppe_ag"
}
UpdateSetupIntentPaymentMethodDataEpsBank::DeutscheBankAg => "deutsche_bank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::Dolomitenbank => "dolomitenbank",
UpdateSetupIntentPaymentMethodDataEpsBank::EasybankAg => "easybank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::ErsteBankUndSparkassen => {
"erste_bank_und_sparkassen"
}
UpdateSetupIntentPaymentMethodDataEpsBank::HypoAlpeadriabankInternationalAg => {
"hypo_alpeadriabank_international_ag"
}
UpdateSetupIntentPaymentMethodDataEpsBank::HypoBankBurgenlandAktiengesellschaft => {
"hypo_bank_burgenland_aktiengesellschaft"
}
UpdateSetupIntentPaymentMethodDataEpsBank::HypoNoeLbFurNiederosterreichUWien => {
"hypo_noe_lb_fur_niederosterreich_u_wien"
}
UpdateSetupIntentPaymentMethodDataEpsBank::HypoOberosterreichSalzburgSteiermark => {
"hypo_oberosterreich_salzburg_steiermark"
}
UpdateSetupIntentPaymentMethodDataEpsBank::HypoTirolBankAg => "hypo_tirol_bank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::HypoVorarlbergBankAg => {
"hypo_vorarlberg_bank_ag"
}
UpdateSetupIntentPaymentMethodDataEpsBank::MarchfelderBank => "marchfelder_bank",
UpdateSetupIntentPaymentMethodDataEpsBank::OberbankAg => "oberbank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::RaiffeisenBankengruppeOsterreich => {
"raiffeisen_bankengruppe_osterreich"
}
UpdateSetupIntentPaymentMethodDataEpsBank::SchoellerbankAg => "schoellerbank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::SpardaBankWien => "sparda_bank_wien",
UpdateSetupIntentPaymentMethodDataEpsBank::VolksbankGruppe => "volksbank_gruppe",
UpdateSetupIntentPaymentMethodDataEpsBank::VolkskreditbankAg => "volkskreditbank_ag",
UpdateSetupIntentPaymentMethodDataEpsBank::VrBankBraunau => "vr_bank_braunau",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataEpsBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataEpsBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataEpsBank {
fn default() -> Self {
Self::ArzteUndApothekerBank
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataFpxAccountHolderType {
Company,
Individual,
}
impl UpdateSetupIntentPaymentMethodDataFpxAccountHolderType {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataFpxAccountHolderType::Company => "company",
UpdateSetupIntentPaymentMethodDataFpxAccountHolderType::Individual => "individual",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataFpxAccountHolderType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataFpxAccountHolderType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataFpxAccountHolderType {
fn default() -> Self {
Self::Company
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataFpxBank {
AffinBank,
Agrobank,
AllianceBank,
Ambank,
BankIslam,
BankMuamalat,
BankOfChina,
BankRakyat,
Bsn,
Cimb,
DeutscheBank,
HongLeongBank,
Hsbc,
Kfh,
Maybank2e,
Maybank2u,
Ocbc,
PbEnterprise,
PublicBank,
Rhb,
StandardChartered,
Uob,
}
impl UpdateSetupIntentPaymentMethodDataFpxBank {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataFpxBank::AffinBank => "affin_bank",
UpdateSetupIntentPaymentMethodDataFpxBank::Agrobank => "agrobank",
UpdateSetupIntentPaymentMethodDataFpxBank::AllianceBank => "alliance_bank",
UpdateSetupIntentPaymentMethodDataFpxBank::Ambank => "ambank",
UpdateSetupIntentPaymentMethodDataFpxBank::BankIslam => "bank_islam",
UpdateSetupIntentPaymentMethodDataFpxBank::BankMuamalat => "bank_muamalat",
UpdateSetupIntentPaymentMethodDataFpxBank::BankOfChina => "bank_of_china",
UpdateSetupIntentPaymentMethodDataFpxBank::BankRakyat => "bank_rakyat",
UpdateSetupIntentPaymentMethodDataFpxBank::Bsn => "bsn",
UpdateSetupIntentPaymentMethodDataFpxBank::Cimb => "cimb",
UpdateSetupIntentPaymentMethodDataFpxBank::DeutscheBank => "deutsche_bank",
UpdateSetupIntentPaymentMethodDataFpxBank::HongLeongBank => "hong_leong_bank",
UpdateSetupIntentPaymentMethodDataFpxBank::Hsbc => "hsbc",
UpdateSetupIntentPaymentMethodDataFpxBank::Kfh => "kfh",
UpdateSetupIntentPaymentMethodDataFpxBank::Maybank2e => "maybank2e",
UpdateSetupIntentPaymentMethodDataFpxBank::Maybank2u => "maybank2u",
UpdateSetupIntentPaymentMethodDataFpxBank::Ocbc => "ocbc",
UpdateSetupIntentPaymentMethodDataFpxBank::PbEnterprise => "pb_enterprise",
UpdateSetupIntentPaymentMethodDataFpxBank::PublicBank => "public_bank",
UpdateSetupIntentPaymentMethodDataFpxBank::Rhb => "rhb",
UpdateSetupIntentPaymentMethodDataFpxBank::StandardChartered => "standard_chartered",
UpdateSetupIntentPaymentMethodDataFpxBank::Uob => "uob",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataFpxBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataFpxBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataFpxBank {
fn default() -> Self {
Self::AffinBank
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataIdealBank {
AbnAmro,
AsnBank,
Bunq,
Handelsbanken,
Ing,
Knab,
Moneyou,
N26,
Nn,
Rabobank,
Regiobank,
Revolut,
SnsBank,
TriodosBank,
VanLanschot,
Yoursafe,
}
impl UpdateSetupIntentPaymentMethodDataIdealBank {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataIdealBank::AbnAmro => "abn_amro",
UpdateSetupIntentPaymentMethodDataIdealBank::AsnBank => "asn_bank",
UpdateSetupIntentPaymentMethodDataIdealBank::Bunq => "bunq",
UpdateSetupIntentPaymentMethodDataIdealBank::Handelsbanken => "handelsbanken",
UpdateSetupIntentPaymentMethodDataIdealBank::Ing => "ing",
UpdateSetupIntentPaymentMethodDataIdealBank::Knab => "knab",
UpdateSetupIntentPaymentMethodDataIdealBank::Moneyou => "moneyou",
UpdateSetupIntentPaymentMethodDataIdealBank::N26 => "n26",
UpdateSetupIntentPaymentMethodDataIdealBank::Nn => "nn",
UpdateSetupIntentPaymentMethodDataIdealBank::Rabobank => "rabobank",
UpdateSetupIntentPaymentMethodDataIdealBank::Regiobank => "regiobank",
UpdateSetupIntentPaymentMethodDataIdealBank::Revolut => "revolut",
UpdateSetupIntentPaymentMethodDataIdealBank::SnsBank => "sns_bank",
UpdateSetupIntentPaymentMethodDataIdealBank::TriodosBank => "triodos_bank",
UpdateSetupIntentPaymentMethodDataIdealBank::VanLanschot => "van_lanschot",
UpdateSetupIntentPaymentMethodDataIdealBank::Yoursafe => "yoursafe",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataIdealBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataIdealBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataIdealBank {
fn default() -> Self {
Self::AbnAmro
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataP24Bank {
AliorBank,
BankMillennium,
BankNowyBfgSa,
BankPekaoSa,
BankiSpbdzielcze,
Blik,
BnpParibas,
Boz,
CitiHandlowy,
CreditAgricole,
Envelobank,
EtransferPocztowy24,
GetinBank,
Ideabank,
Ing,
Inteligo,
MbankMtransfer,
NestPrzelew,
NoblePay,
PbacZIpko,
PlusBank,
SantanderPrzelew24,
TmobileUsbugiBankowe,
ToyotaBank,
Velobank,
VolkswagenBank,
}
impl UpdateSetupIntentPaymentMethodDataP24Bank {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataP24Bank::AliorBank => "alior_bank",
UpdateSetupIntentPaymentMethodDataP24Bank::BankMillennium => "bank_millennium",
UpdateSetupIntentPaymentMethodDataP24Bank::BankNowyBfgSa => "bank_nowy_bfg_sa",
UpdateSetupIntentPaymentMethodDataP24Bank::BankPekaoSa => "bank_pekao_sa",
UpdateSetupIntentPaymentMethodDataP24Bank::BankiSpbdzielcze => "banki_spbdzielcze",
UpdateSetupIntentPaymentMethodDataP24Bank::Blik => "blik",
UpdateSetupIntentPaymentMethodDataP24Bank::BnpParibas => "bnp_paribas",
UpdateSetupIntentPaymentMethodDataP24Bank::Boz => "boz",
UpdateSetupIntentPaymentMethodDataP24Bank::CitiHandlowy => "citi_handlowy",
UpdateSetupIntentPaymentMethodDataP24Bank::CreditAgricole => "credit_agricole",
UpdateSetupIntentPaymentMethodDataP24Bank::Envelobank => "envelobank",
UpdateSetupIntentPaymentMethodDataP24Bank::EtransferPocztowy24 => {
"etransfer_pocztowy24"
}
UpdateSetupIntentPaymentMethodDataP24Bank::GetinBank => "getin_bank",
UpdateSetupIntentPaymentMethodDataP24Bank::Ideabank => "ideabank",
UpdateSetupIntentPaymentMethodDataP24Bank::Ing => "ing",
UpdateSetupIntentPaymentMethodDataP24Bank::Inteligo => "inteligo",
UpdateSetupIntentPaymentMethodDataP24Bank::MbankMtransfer => "mbank_mtransfer",
UpdateSetupIntentPaymentMethodDataP24Bank::NestPrzelew => "nest_przelew",
UpdateSetupIntentPaymentMethodDataP24Bank::NoblePay => "noble_pay",
UpdateSetupIntentPaymentMethodDataP24Bank::PbacZIpko => "pbac_z_ipko",
UpdateSetupIntentPaymentMethodDataP24Bank::PlusBank => "plus_bank",
UpdateSetupIntentPaymentMethodDataP24Bank::SantanderPrzelew24 => "santander_przelew24",
UpdateSetupIntentPaymentMethodDataP24Bank::TmobileUsbugiBankowe => {
"tmobile_usbugi_bankowe"
}
UpdateSetupIntentPaymentMethodDataP24Bank::ToyotaBank => "toyota_bank",
UpdateSetupIntentPaymentMethodDataP24Bank::Velobank => "velobank",
UpdateSetupIntentPaymentMethodDataP24Bank::VolkswagenBank => "volkswagen_bank",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataP24Bank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataP24Bank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataP24Bank {
fn default() -> Self {
Self::AliorBank
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataSofortCountry {
#[serde(rename = "AT")]
At,
#[serde(rename = "BE")]
Be,
#[serde(rename = "DE")]
De,
#[serde(rename = "ES")]
Es,
#[serde(rename = "IT")]
It,
#[serde(rename = "NL")]
Nl,
}
impl UpdateSetupIntentPaymentMethodDataSofortCountry {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataSofortCountry::At => "AT",
UpdateSetupIntentPaymentMethodDataSofortCountry::Be => "BE",
UpdateSetupIntentPaymentMethodDataSofortCountry::De => "DE",
UpdateSetupIntentPaymentMethodDataSofortCountry::Es => "ES",
UpdateSetupIntentPaymentMethodDataSofortCountry::It => "IT",
UpdateSetupIntentPaymentMethodDataSofortCountry::Nl => "NL",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataSofortCountry {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataSofortCountry {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataSofortCountry {
fn default() -> Self {
Self::At
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataType {
AcssDebit,
Affirm,
AfterpayClearpay,
Alipay,
AuBecsDebit,
BacsDebit,
Bancontact,
Blik,
Boleto,
Cashapp,
CustomerBalance,
Eps,
Fpx,
Giropay,
Grabpay,
Ideal,
Klarna,
Konbini,
Link,
Oxxo,
P24,
Paynow,
Paypal,
Pix,
Promptpay,
RevolutPay,
SepaDebit,
Sofort,
Swish,
UsBankAccount,
WechatPay,
Zip,
}
impl UpdateSetupIntentPaymentMethodDataType {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataType::AcssDebit => "acss_debit",
UpdateSetupIntentPaymentMethodDataType::Affirm => "affirm",
UpdateSetupIntentPaymentMethodDataType::AfterpayClearpay => "afterpay_clearpay",
UpdateSetupIntentPaymentMethodDataType::Alipay => "alipay",
UpdateSetupIntentPaymentMethodDataType::AuBecsDebit => "au_becs_debit",
UpdateSetupIntentPaymentMethodDataType::BacsDebit => "bacs_debit",
UpdateSetupIntentPaymentMethodDataType::Bancontact => "bancontact",
UpdateSetupIntentPaymentMethodDataType::Blik => "blik",
UpdateSetupIntentPaymentMethodDataType::Boleto => "boleto",
UpdateSetupIntentPaymentMethodDataType::Cashapp => "cashapp",
UpdateSetupIntentPaymentMethodDataType::CustomerBalance => "customer_balance",
UpdateSetupIntentPaymentMethodDataType::Eps => "eps",
UpdateSetupIntentPaymentMethodDataType::Fpx => "fpx",
UpdateSetupIntentPaymentMethodDataType::Giropay => "giropay",
UpdateSetupIntentPaymentMethodDataType::Grabpay => "grabpay",
UpdateSetupIntentPaymentMethodDataType::Ideal => "ideal",
UpdateSetupIntentPaymentMethodDataType::Klarna => "klarna",
UpdateSetupIntentPaymentMethodDataType::Konbini => "konbini",
UpdateSetupIntentPaymentMethodDataType::Link => "link",
UpdateSetupIntentPaymentMethodDataType::Oxxo => "oxxo",
UpdateSetupIntentPaymentMethodDataType::P24 => "p24",
UpdateSetupIntentPaymentMethodDataType::Paynow => "paynow",
UpdateSetupIntentPaymentMethodDataType::Paypal => "paypal",
UpdateSetupIntentPaymentMethodDataType::Pix => "pix",
UpdateSetupIntentPaymentMethodDataType::Promptpay => "promptpay",
UpdateSetupIntentPaymentMethodDataType::RevolutPay => "revolut_pay",
UpdateSetupIntentPaymentMethodDataType::SepaDebit => "sepa_debit",
UpdateSetupIntentPaymentMethodDataType::Sofort => "sofort",
UpdateSetupIntentPaymentMethodDataType::Swish => "swish",
UpdateSetupIntentPaymentMethodDataType::UsBankAccount => "us_bank_account",
UpdateSetupIntentPaymentMethodDataType::WechatPay => "wechat_pay",
UpdateSetupIntentPaymentMethodDataType::Zip => "zip",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataType {
fn default() -> Self {
Self::AcssDebit
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
Company,
Individual,
}
impl UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType::Company => "company",
UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType::Individual => {
"individual"
}
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataUsBankAccountAccountHolderType {
fn default() -> Self {
Self::Company
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType {
Checking,
Savings,
}
impl UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType::Checking => "checking",
UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType::Savings => "savings",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodDataUsBankAccountAccountType {
fn default() -> Self {
Self::Checking
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
Invoice,
Subscription,
}
impl UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor::Invoice => "invoice",
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor::Subscription => "subscription",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsDefaultFor
{
fn default() -> Self {
Self::Invoice
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule {
Combined,
Interval,
Sporadic,
}
impl UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule::Combined => "combined",
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule::Interval => "interval",
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule::Sporadic => "sporadic",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsPaymentSchedule
{
fn default() -> Self {
Self::Combined
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType {
Business,
Personal,
}
impl UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType::Business => "business",
UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType::Personal => "personal",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsAcssDebitMandateOptionsTransactionType
{
fn default() -> Self {
Self::Business
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
Automatic,
Instant,
Microdeposits,
}
impl UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Automatic => {
"automatic"
}
UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Instant => "instant",
UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod::Microdeposits => {
"microdeposits"
}
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsAcssDebitVerificationMethod {
fn default() -> Self {
Self::Automatic
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
Fixed,
Maximum,
}
impl UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType::Fixed => "fixed",
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType::Maximum => "maximum",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsAmountType {
fn default() -> Self {
Self::Fixed
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
Day,
Month,
Sporadic,
Week,
Year,
}
impl UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Day => "day",
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Month => "month",
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Sporadic => "sporadic",
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Week => "week",
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval::Year => "year",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsInterval {
fn default() -> Self {
Self::Day
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
India,
}
impl UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes::India => "india",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsCardMandateOptionsSupportedTypes
{
fn default() -> Self {
Self::India
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardNetwork {
Amex,
CartesBancaires,
Diners,
Discover,
EftposAu,
Interac,
Jcb,
Mastercard,
Unionpay,
Unknown,
Visa,
}
impl UpdateSetupIntentPaymentMethodOptionsCardNetwork {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Amex => "amex",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::CartesBancaires => "cartes_bancaires",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Diners => "diners",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Discover => "discover",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::EftposAu => "eftpos_au",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Interac => "interac",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Jcb => "jcb",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Mastercard => "mastercard",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Unionpay => "unionpay",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Unknown => "unknown",
UpdateSetupIntentPaymentMethodOptionsCardNetwork::Visa => "visa",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardNetwork {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsCardNetwork {
fn default() -> Self {
Self::Amex
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
Any,
Automatic,
Challenge,
}
impl UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Any => "any",
UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Automatic => "automatic",
UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure::Challenge => "challenge",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn default() -> Self {
Self::Any
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
#[serde(rename = "A")]
A,
#[serde(rename = "C")]
C,
#[serde(rename = "I")]
I,
#[serde(rename = "N")]
N,
#[serde(rename = "R")]
R,
#[serde(rename = "U")]
U,
#[serde(rename = "Y")]
Y,
}
impl UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::A => "A",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::C => "C",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::I => "I",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::N => "N",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::R => "R",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::U => "U",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus::Y => "Y",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureAresTransStatus
{
fn default() -> Self {
Self::A
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator {
#[serde(rename = "01")]
V01,
#[serde(rename = "02")]
V02,
#[serde(rename = "05")]
V05,
#[serde(rename = "06")]
V06,
#[serde(rename = "07")]
V07,
}
impl UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V01 => "01",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V02 => "02",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V05 => "05",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V06 => "06",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator::V07 => "07",
}
}
}
impl AsRef<str>
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureElectronicCommerceIndicator
{
fn default() -> Self {
Self::V01
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
#[serde(rename = "0")]
V0,
#[serde(rename = "1")]
V1,
#[serde(rename = "2")]
V2,
#[serde(rename = "3")]
V3,
#[serde(rename = "4")]
V4,
#[serde(rename = "A")]
A,
}
impl UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V0 => "0",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V1 => "1",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V2 => "2",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V3 => "3",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::V4 => "4",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo::A => "A",
}
}
}
impl AsRef<str>
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancairesCbAvalgo
{
fn default() -> Self {
Self::V0
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
#[serde(rename = "1.0.2")]
V1_0_2,
#[serde(rename = "2.1.0")]
V2_1_0,
#[serde(rename = "2.2.0")]
V2_2_0,
}
impl UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion::V1_0_2 => "1.0.2",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion::V2_1_0 => "2.1.0",
UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion::V2_2_0 => "2.2.0",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsCardThreeDSecureVersion {
fn default() -> Self {
Self::V1_0_2
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions {
Balances,
Ownership,
PaymentMethod,
Transactions,
}
impl UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::Balances => "balances",
UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::Ownership => "ownership",
UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::PaymentMethod => "payment_method",
UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions::Transactions => "transactions",
}
}
}
impl AsRef<str>
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPermissions
{
fn default() -> Self {
Self::Balances
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch {
Balances,
Transactions,
}
impl UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch::Balances => "balances",
UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch::Transactions => "transactions",
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountFinancialConnectionsPrefetch
{
fn default() -> Self {
Self::Balances
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod {
Paper,
}
impl UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod::Paper => "paper",
}
}
}
impl AsRef<str>
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod
{
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod
{
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountMandateOptionsCollectionMethod
{
fn default() -> Self {
Self::Paper
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
Ach,
UsDomesticWire,
}
impl UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested::Ach => "ach",
UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested::UsDomesticWire => {
"us_domestic_wire"
}
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default for UpdateSetupIntentPaymentMethodOptionsUsBankAccountNetworksRequested {
fn default() -> Self {
Self::Ach
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
Automatic,
Instant,
Microdeposits,
}
impl UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
pub fn as_str(self) -> &'static str {
match self {
UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Automatic => {
"automatic"
}
UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Instant => {
"instant"
}
UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod::Microdeposits => {
"microdeposits"
}
}
}
}
impl AsRef<str> for UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
impl std::default::Default
for UpdateSetupIntentPaymentMethodOptionsUsBankAccountVerificationMethod
{
fn default() -> Self {
Self::Automatic
}
}