use serde_derive::{Deserialize, Serialize};
use crate::config::{Client, Response};
use crate::ids::{CustomerId, MandateId, PaymentIntentId, PaymentMethodId};
use crate::params::{Expand, Expandable, List, Metadata, Object, RangeQuery, Timestamp};
use crate::resources::{
Account, ApiErrors, Application, Charge, Currency, Customer, Invoice, PaymentIntentOffSession,
PaymentMethod, PaymentMethodDetailsCardInstallmentsPlan, Review, Shipping, ShippingParams,
};
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntent {
pub id: PaymentIntentId,
pub amount: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub amount_capturable: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub amount_received: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub application: Option<Expandable<Application>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub application_fee_amount: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub canceled_at: Option<Timestamp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cancellation_reason: Option<PaymentIntentCancellationReason>,
pub capture_method: PaymentIntentCaptureMethod,
#[serde(default)]
pub charges: List<Charge>,
#[serde(skip_serializing_if = "Option::is_none")]
pub client_secret: Option<String>,
pub confirmation_method: PaymentIntentConfirmationMethod,
pub created: Timestamp,
pub currency: Currency,
#[serde(skip_serializing_if = "Option::is_none")]
pub customer: Option<Expandable<Customer>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub invoice: Option<Expandable<Invoice>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_payment_error: Option<ApiErrors>,
pub livemode: bool,
#[serde(default)]
pub metadata: Metadata,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_action: Option<PaymentIntentNextAction>,
#[serde(skip_serializing_if = "Option::is_none")]
pub on_behalf_of: Option<Expandable<Account>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method: Option<Expandable<PaymentMethod>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_options: Option<PaymentIntentPaymentMethodOptions>,
pub payment_method_types: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub receipt_email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub review: Option<Expandable<Review>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub setup_future_usage: Option<PaymentIntentSetupFutureUsage>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shipping: Option<Shipping>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statement_descriptor: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statement_descriptor_suffix: Option<String>,
pub status: PaymentIntentStatus,
#[serde(skip_serializing_if = "Option::is_none")]
pub transfer_data: Option<TransferData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transfer_group: Option<String>,
}
impl PaymentIntent {
pub fn list(client: &Client, params: ListPaymentIntents<'_>) -> Response<List<PaymentIntent>> {
client.get_query("/payment_intents", ¶ms)
}
pub fn create(client: &Client, params: CreatePaymentIntent<'_>) -> Response<PaymentIntent> {
client.post_form("/payment_intents", ¶ms)
}
pub fn retrieve(
client: &Client,
id: &PaymentIntentId,
expand: &[&str],
) -> Response<PaymentIntent> {
client.get_query(&format!("/payment_intents/{}", id), &Expand { expand })
}
pub fn update(
client: &Client,
id: &PaymentIntentId,
params: UpdatePaymentIntent<'_>,
) -> Response<PaymentIntent> {
client.post_form(&format!("/payment_intents/{}", id), ¶ms)
}
}
impl Object for PaymentIntent {
type Id = PaymentIntentId;
fn id(&self) -> Self::Id {
self.id.clone()
}
fn object(&self) -> &'static str {
"payment_intent"
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentNextAction {
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay_handle_redirect: Option<PaymentIntentNextActionAlipayHandleRedirect>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo_display_details: Option<PaymentIntentNextActionDisplayOxxoDetails>,
#[serde(skip_serializing_if = "Option::is_none")]
pub redirect_to_url: Option<PaymentIntentNextActionRedirectToUrl>,
#[serde(rename = "type")]
pub type_: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub use_stripe_sdk: Option<serde_json::Value>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentNextActionAlipayHandleRedirect {
#[serde(skip_serializing_if = "Option::is_none")]
pub native_data: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub native_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentNextActionDisplayOxxoDetails {
#[serde(skip_serializing_if = "Option::is_none")]
pub expires_after: Option<Timestamp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hosted_voucher_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub number: Option<String>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentNextActionRedirectToUrl {
#[serde(skip_serializing_if = "Option::is_none")]
pub return_url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentPaymentMethodOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<PaymentMethodOptionsAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<PaymentMethodOptionsBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub card: Option<PaymentIntentPaymentMethodOptionsCard>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<PaymentMethodOptionsOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<PaymentMethodOptionsP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<PaymentIntentPaymentMethodOptionsSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<PaymentMethodOptionsSofort>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentPaymentMethodOptionsCard {
#[serde(skip_serializing_if = "Option::is_none")]
pub installments: Option<PaymentMethodOptionsCardInstallments>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network: Option<PaymentIntentPaymentMethodOptionsCardNetwork>,
#[serde(skip_serializing_if = "Option::is_none")]
pub request_three_d_secure: Option<PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentPaymentMethodOptionsSepaDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<PaymentIntentPaymentMethodOptionsMandateOptionsSepaDebit>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentIntentPaymentMethodOptionsMandateOptionsSepaDebit {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentMethodOptionsAlipay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentMethodOptionsBancontact {
pub preferred_language: PaymentMethodOptionsBancontactPreferredLanguage,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentMethodOptionsCardInstallments {
#[serde(skip_serializing_if = "Option::is_none")]
pub available_plans: Option<Vec<PaymentMethodDetailsCardInstallmentsPlan>>,
pub enabled: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub plan: Option<PaymentMethodDetailsCardInstallmentsPlan>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentMethodOptionsOxxo {
pub expires_after_days: u32,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentMethodOptionsP24 {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PaymentMethodOptionsSofort {
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_language: Option<PaymentMethodOptionsSofortPreferredLanguage>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct TransferData {
#[serde(skip_serializing_if = "Option::is_none")]
pub amount: Option<i64>,
pub destination: Expandable<Account>,
}
#[derive(Clone, Debug, Serialize)]
pub struct CreatePaymentIntent<'a> {
pub amount: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub application_fee_amount: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub capture_method: Option<PaymentIntentCaptureMethod>,
#[serde(skip_serializing_if = "Option::is_none")]
pub confirm: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub confirmation_method: Option<PaymentIntentConfirmationMethod>,
pub currency: Currency,
#[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 = "Option::is_none")]
pub error_on_requires_action: Option<bool>,
#[serde(skip_serializing_if = "Expand::is_empty")]
pub expand: &'a [&'a str],
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate: Option<MandateId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_data: Option<CreatePaymentIntentMandateData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub metadata: Option<Metadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub off_session: Option<PaymentIntentOffSession>,
#[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_data: Option<CreatePaymentIntentPaymentMethodData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_options: Option<CreatePaymentIntentPaymentMethodOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_types: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub receipt_email: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub return_url: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub setup_future_usage: Option<PaymentIntentSetupFutureUsage>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shipping: Option<ShippingParams>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statement_descriptor: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statement_descriptor_suffix: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transfer_data: Option<CreatePaymentIntentTransferData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transfer_group: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub use_stripe_sdk: Option<bool>,
}
impl<'a> CreatePaymentIntent<'a> {
pub fn new(amount: i64, currency: Currency) -> Self {
CreatePaymentIntent {
amount,
application_fee_amount: Default::default(),
capture_method: Default::default(),
confirm: Default::default(),
confirmation_method: Default::default(),
currency,
customer: Default::default(),
description: Default::default(),
error_on_requires_action: Default::default(),
expand: Default::default(),
mandate: Default::default(),
mandate_data: Default::default(),
metadata: Default::default(),
off_session: Default::default(),
on_behalf_of: Default::default(),
payment_method: Default::default(),
payment_method_data: Default::default(),
payment_method_options: Default::default(),
payment_method_types: Default::default(),
receipt_email: Default::default(),
return_url: Default::default(),
setup_future_usage: Default::default(),
shipping: Default::default(),
statement_descriptor: Default::default(),
statement_descriptor_suffix: Default::default(),
transfer_data: Default::default(),
transfer_group: Default::default(),
use_stripe_sdk: Default::default(),
}
}
}
#[derive(Clone, Debug, Serialize, Default)]
pub struct ListPaymentIntents<'a> {
#[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<PaymentIntentId>,
#[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 starting_after: Option<PaymentIntentId>,
}
impl<'a> ListPaymentIntents<'a> {
pub fn new() -> Self {
ListPaymentIntents {
created: Default::default(),
customer: Default::default(),
ending_before: Default::default(),
expand: Default::default(),
limit: Default::default(),
starting_after: Default::default(),
}
}
}
#[derive(Clone, Debug, Serialize, Default)]
pub struct UpdatePaymentIntent<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
pub amount: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub application_fee_amount: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub currency: Option<Currency>,
#[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 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_data: Option<UpdatePaymentIntentPaymentMethodData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_options: Option<UpdatePaymentIntentPaymentMethodOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method_types: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub receipt_email: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub setup_future_usage: Option<PaymentIntentSetupFutureUsageFilter>,
#[serde(skip_serializing_if = "Option::is_none")]
pub shipping: Option<ShippingParams>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statement_descriptor: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub statement_descriptor_suffix: Option<&'a str>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transfer_data: Option<UpdatePaymentIntentTransferData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transfer_group: Option<&'a str>,
}
impl<'a> UpdatePaymentIntent<'a> {
pub fn new() -> Self {
UpdatePaymentIntent {
amount: Default::default(),
application_fee_amount: Default::default(),
currency: Default::default(),
customer: Default::default(),
description: Default::default(),
expand: Default::default(),
metadata: Default::default(),
payment_method: Default::default(),
payment_method_data: Default::default(),
payment_method_options: Default::default(),
payment_method_types: Default::default(),
receipt_email: Default::default(),
setup_future_usage: Default::default(),
shipping: Default::default(),
statement_descriptor: Default::default(),
statement_descriptor_suffix: Default::default(),
transfer_data: Default::default(),
transfer_group: Default::default(),
}
}
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentMandateData {
pub customer_acceptance: CreatePaymentIntentMandateDataCustomerAcceptance,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodData {
#[serde(skip_serializing_if = "Option::is_none")]
pub afterpay_clearpay: Option<CreatePaymentIntentPaymentMethodDataAfterpayClearpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<CreatePaymentIntentPaymentMethodDataAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub au_becs_debit: Option<CreatePaymentIntentPaymentMethodDataAuBecsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bacs_debit: Option<CreatePaymentIntentPaymentMethodDataBacsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<CreatePaymentIntentPaymentMethodDataBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_details: Option<CreatePaymentIntentPaymentMethodDataBillingDetails>,
#[serde(skip_serializing_if = "Option::is_none")]
pub eps: Option<CreatePaymentIntentPaymentMethodDataEps>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fpx: Option<CreatePaymentIntentPaymentMethodDataFpx>,
#[serde(skip_serializing_if = "Option::is_none")]
pub giropay: Option<CreatePaymentIntentPaymentMethodDataGiropay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grabpay: Option<CreatePaymentIntentPaymentMethodDataGrabpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ideal: Option<CreatePaymentIntentPaymentMethodDataIdeal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interac_present: Option<CreatePaymentIntentPaymentMethodDataInteracPresent>,
#[serde(default)]
pub metadata: Metadata,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<CreatePaymentIntentPaymentMethodDataOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<CreatePaymentIntentPaymentMethodDataP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<CreatePaymentIntentPaymentMethodDataSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<CreatePaymentIntentPaymentMethodDataSofort>,
#[serde(rename = "type")]
pub type_: CreatePaymentIntentPaymentMethodDataType,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<CreatePaymentIntentPaymentMethodOptionsAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<CreatePaymentIntentPaymentMethodOptionsBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub card: Option<CreatePaymentIntentPaymentMethodOptionsCard>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<CreatePaymentIntentPaymentMethodOptionsOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<CreatePaymentIntentPaymentMethodOptionsP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<CreatePaymentIntentPaymentMethodOptionsSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<CreatePaymentIntentPaymentMethodOptionsSofort>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentTransferData {
#[serde(skip_serializing_if = "Option::is_none")]
pub amount: Option<i64>,
pub destination: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodData {
#[serde(skip_serializing_if = "Option::is_none")]
pub afterpay_clearpay: Option<UpdatePaymentIntentPaymentMethodDataAfterpayClearpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<UpdatePaymentIntentPaymentMethodDataAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub au_becs_debit: Option<UpdatePaymentIntentPaymentMethodDataAuBecsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bacs_debit: Option<UpdatePaymentIntentPaymentMethodDataBacsDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<UpdatePaymentIntentPaymentMethodDataBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub billing_details: Option<UpdatePaymentIntentPaymentMethodDataBillingDetails>,
#[serde(skip_serializing_if = "Option::is_none")]
pub eps: Option<UpdatePaymentIntentPaymentMethodDataEps>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fpx: Option<UpdatePaymentIntentPaymentMethodDataFpx>,
#[serde(skip_serializing_if = "Option::is_none")]
pub giropay: Option<UpdatePaymentIntentPaymentMethodDataGiropay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub grabpay: Option<UpdatePaymentIntentPaymentMethodDataGrabpay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ideal: Option<UpdatePaymentIntentPaymentMethodDataIdeal>,
#[serde(skip_serializing_if = "Option::is_none")]
pub interac_present: Option<UpdatePaymentIntentPaymentMethodDataInteracPresent>,
#[serde(default)]
pub metadata: Metadata,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<UpdatePaymentIntentPaymentMethodDataOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<UpdatePaymentIntentPaymentMethodDataP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<UpdatePaymentIntentPaymentMethodDataSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<UpdatePaymentIntentPaymentMethodDataSofort>,
#[serde(rename = "type")]
pub type_: UpdatePaymentIntentPaymentMethodDataType,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub alipay: Option<UpdatePaymentIntentPaymentMethodOptionsAlipay>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bancontact: Option<UpdatePaymentIntentPaymentMethodOptionsBancontact>,
#[serde(skip_serializing_if = "Option::is_none")]
pub card: Option<UpdatePaymentIntentPaymentMethodOptionsCard>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oxxo: Option<UpdatePaymentIntentPaymentMethodOptionsOxxo>,
#[serde(skip_serializing_if = "Option::is_none")]
pub p24: Option<UpdatePaymentIntentPaymentMethodOptionsP24>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sepa_debit: Option<UpdatePaymentIntentPaymentMethodOptionsSepaDebit>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sofort: Option<UpdatePaymentIntentPaymentMethodOptionsSofort>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentTransferData {
#[serde(skip_serializing_if = "Option::is_none")]
pub amount: Option<i64>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentMandateDataCustomerAcceptance {
#[serde(skip_serializing_if = "Option::is_none")]
pub accepted_at: Option<Timestamp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offline: Option<CreatePaymentIntentMandateDataCustomerAcceptanceOffline>,
#[serde(skip_serializing_if = "Option::is_none")]
pub online: Option<CreatePaymentIntentMandateDataCustomerAcceptanceOnline>,
#[serde(rename = "type")]
pub type_: CreatePaymentIntentMandateDataCustomerAcceptanceType,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataAfterpayClearpay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataAlipay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataAuBecsDebit {
pub account_number: String,
pub bsb_number: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataBacsDebit {
#[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, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataBancontact {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataBillingDetails {
#[serde(skip_serializing_if = "Option::is_none")]
pub address: Option<CreatePaymentIntentPaymentMethodDataBillingDetailsAddress>,
#[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, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataEps {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<CreatePaymentIntentPaymentMethodDataEpsBank>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataFpx {
pub bank: CreatePaymentIntentPaymentMethodDataFpxBank,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataGiropay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataGrabpay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataIdeal {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<CreatePaymentIntentPaymentMethodDataIdealBank>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataInteracPresent {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataOxxo {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataP24 {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<CreatePaymentIntentPaymentMethodDataP24Bank>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataSepaDebit {
pub iban: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataSofort {
pub country: CreatePaymentIntentPaymentMethodDataSofortCountry,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsAlipay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsBancontact {
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_language:
Option<CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsCard {
#[serde(skip_serializing_if = "Option::is_none")]
pub cvc_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub installments: Option<CreatePaymentIntentPaymentMethodOptionsCardInstallments>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network: Option<CreatePaymentIntentPaymentMethodOptionsCardNetwork>,
#[serde(skip_serializing_if = "Option::is_none")]
pub request_three_d_secure:
Option<CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsOxxo {
#[serde(skip_serializing_if = "Option::is_none")]
pub expires_after_days: Option<u32>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsP24 {
#[serde(skip_serializing_if = "Option::is_none")]
pub tos_shown_and_accepted: Option<bool>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsSepaDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<CreatePaymentIntentPaymentMethodOptionsSepaDebitMandateOptions>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsSofort {
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_language: Option<CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataAfterpayClearpay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataAlipay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataAuBecsDebit {
pub account_number: String,
pub bsb_number: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataBacsDebit {
#[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, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataBancontact {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataBillingDetails {
#[serde(skip_serializing_if = "Option::is_none")]
pub address: Option<UpdatePaymentIntentPaymentMethodDataBillingDetailsAddress>,
#[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, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataEps {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<UpdatePaymentIntentPaymentMethodDataEpsBank>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataFpx {
pub bank: UpdatePaymentIntentPaymentMethodDataFpxBank,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataGiropay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataGrabpay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataIdeal {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<UpdatePaymentIntentPaymentMethodDataIdealBank>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataInteracPresent {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataOxxo {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataP24 {
#[serde(skip_serializing_if = "Option::is_none")]
pub bank: Option<UpdatePaymentIntentPaymentMethodDataP24Bank>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataSepaDebit {
pub iban: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataSofort {
pub country: UpdatePaymentIntentPaymentMethodDataSofortCountry,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsAlipay {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsBancontact {
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_language:
Option<UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsCard {
#[serde(skip_serializing_if = "Option::is_none")]
pub cvc_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub installments: Option<UpdatePaymentIntentPaymentMethodOptionsCardInstallments>,
#[serde(skip_serializing_if = "Option::is_none")]
pub network: Option<UpdatePaymentIntentPaymentMethodOptionsCardNetwork>,
#[serde(skip_serializing_if = "Option::is_none")]
pub request_three_d_secure:
Option<UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsOxxo {
#[serde(skip_serializing_if = "Option::is_none")]
pub expires_after_days: Option<u32>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsP24 {
#[serde(skip_serializing_if = "Option::is_none")]
pub tos_shown_and_accepted: Option<bool>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsSepaDebit {
#[serde(skip_serializing_if = "Option::is_none")]
pub mandate_options: Option<UpdatePaymentIntentPaymentMethodOptionsSepaDebitMandateOptions>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsSofort {
#[serde(skip_serializing_if = "Option::is_none")]
pub preferred_language: Option<UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentMandateDataCustomerAcceptanceOffline {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentMandateDataCustomerAcceptanceOnline {
pub ip_address: String,
pub user_agent: String,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodDataBillingDetailsAddress {
#[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, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsCardInstallments {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub plan: Option<CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlan>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsSepaDebitMandateOptions {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodDataBillingDetailsAddress {
#[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, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsCardInstallments {
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub plan: Option<UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlan>,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsSepaDebitMandateOptions {}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlan {
pub count: u64,
pub interval: CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval,
#[serde(rename = "type")]
pub type_: CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType,
}
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlan {
pub count: u64,
pub interval: UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval,
#[serde(rename = "type")]
pub type_: UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType,
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentMandateDataCustomerAcceptanceType {
Offline,
Online,
}
impl CreatePaymentIntentMandateDataCustomerAcceptanceType {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentMandateDataCustomerAcceptanceType::Offline => "offline",
CreatePaymentIntentMandateDataCustomerAcceptanceType::Online => "online",
}
}
}
impl AsRef<str> for CreatePaymentIntentMandateDataCustomerAcceptanceType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentMandateDataCustomerAcceptanceType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodDataEpsBank {
ArzteUndApothekerBank,
AustrianAnadiBankAg,
BankAustria,
BankhausCarlSpangler,
BankhausSchelhammerUndSchatteraAg,
BawagPskAg,
BksBankAg,
BrullKallmusBankAg,
BtvVierLanderBank,
CapitalBankGraweGruppeAg,
Dolomitenbank,
EasybankAg,
ErsteBankUndSparkassen,
HypoAlpeadriabankInternationalAg,
HypoBankBurgenlandAktiengesellschaft,
HypoNoeLbFurNiederosterreichUWien,
HypoOberosterreichSalzburgSteiermark,
HypoTirolBankAg,
HypoVorarlbergBankAg,
MarchfelderBank,
OberbankAg,
RaiffeisenBankengruppeOsterreich,
SchoellerbankAg,
SpardaBankWien,
VolksbankGruppe,
VolkskreditbankAg,
VrBankBraunau,
}
impl CreatePaymentIntentPaymentMethodDataEpsBank {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodDataEpsBank::ArzteUndApothekerBank => {
"arzte_und_apotheker_bank"
}
CreatePaymentIntentPaymentMethodDataEpsBank::AustrianAnadiBankAg => {
"austrian_anadi_bank_ag"
}
CreatePaymentIntentPaymentMethodDataEpsBank::BankAustria => "bank_austria",
CreatePaymentIntentPaymentMethodDataEpsBank::BankhausCarlSpangler => {
"bankhaus_carl_spangler"
}
CreatePaymentIntentPaymentMethodDataEpsBank::BankhausSchelhammerUndSchatteraAg => {
"bankhaus_schelhammer_und_schattera_ag"
}
CreatePaymentIntentPaymentMethodDataEpsBank::BawagPskAg => "bawag_psk_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::BksBankAg => "bks_bank_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::BrullKallmusBankAg => {
"brull_kallmus_bank_ag"
}
CreatePaymentIntentPaymentMethodDataEpsBank::BtvVierLanderBank => {
"btv_vier_lander_bank"
}
CreatePaymentIntentPaymentMethodDataEpsBank::CapitalBankGraweGruppeAg => {
"capital_bank_grawe_gruppe_ag"
}
CreatePaymentIntentPaymentMethodDataEpsBank::Dolomitenbank => "dolomitenbank",
CreatePaymentIntentPaymentMethodDataEpsBank::EasybankAg => "easybank_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::ErsteBankUndSparkassen => {
"erste_bank_und_sparkassen"
}
CreatePaymentIntentPaymentMethodDataEpsBank::HypoAlpeadriabankInternationalAg => {
"hypo_alpeadriabank_international_ag"
}
CreatePaymentIntentPaymentMethodDataEpsBank::HypoBankBurgenlandAktiengesellschaft => {
"hypo_bank_burgenland_aktiengesellschaft"
}
CreatePaymentIntentPaymentMethodDataEpsBank::HypoNoeLbFurNiederosterreichUWien => {
"hypo_noe_lb_fur_niederosterreich_u_wien"
}
CreatePaymentIntentPaymentMethodDataEpsBank::HypoOberosterreichSalzburgSteiermark => {
"hypo_oberosterreich_salzburg_steiermark"
}
CreatePaymentIntentPaymentMethodDataEpsBank::HypoTirolBankAg => "hypo_tirol_bank_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::HypoVorarlbergBankAg => {
"hypo_vorarlberg_bank_ag"
}
CreatePaymentIntentPaymentMethodDataEpsBank::MarchfelderBank => "marchfelder_bank",
CreatePaymentIntentPaymentMethodDataEpsBank::OberbankAg => "oberbank_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::RaiffeisenBankengruppeOsterreich => {
"raiffeisen_bankengruppe_osterreich"
}
CreatePaymentIntentPaymentMethodDataEpsBank::SchoellerbankAg => "schoellerbank_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::SpardaBankWien => "sparda_bank_wien",
CreatePaymentIntentPaymentMethodDataEpsBank::VolksbankGruppe => "volksbank_gruppe",
CreatePaymentIntentPaymentMethodDataEpsBank::VolkskreditbankAg => "volkskreditbank_ag",
CreatePaymentIntentPaymentMethodDataEpsBank::VrBankBraunau => "vr_bank_braunau",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodDataEpsBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodDataEpsBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodDataFpxBank {
AffinBank,
AllianceBank,
Ambank,
BankIslam,
BankMuamalat,
BankRakyat,
Bsn,
Cimb,
DeutscheBank,
HongLeongBank,
Hsbc,
Kfh,
Maybank2e,
Maybank2u,
Ocbc,
PbEnterprise,
PublicBank,
Rhb,
StandardChartered,
Uob,
}
impl CreatePaymentIntentPaymentMethodDataFpxBank {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodDataFpxBank::AffinBank => "affin_bank",
CreatePaymentIntentPaymentMethodDataFpxBank::AllianceBank => "alliance_bank",
CreatePaymentIntentPaymentMethodDataFpxBank::Ambank => "ambank",
CreatePaymentIntentPaymentMethodDataFpxBank::BankIslam => "bank_islam",
CreatePaymentIntentPaymentMethodDataFpxBank::BankMuamalat => "bank_muamalat",
CreatePaymentIntentPaymentMethodDataFpxBank::BankRakyat => "bank_rakyat",
CreatePaymentIntentPaymentMethodDataFpxBank::Bsn => "bsn",
CreatePaymentIntentPaymentMethodDataFpxBank::Cimb => "cimb",
CreatePaymentIntentPaymentMethodDataFpxBank::DeutscheBank => "deutsche_bank",
CreatePaymentIntentPaymentMethodDataFpxBank::HongLeongBank => "hong_leong_bank",
CreatePaymentIntentPaymentMethodDataFpxBank::Hsbc => "hsbc",
CreatePaymentIntentPaymentMethodDataFpxBank::Kfh => "kfh",
CreatePaymentIntentPaymentMethodDataFpxBank::Maybank2e => "maybank2e",
CreatePaymentIntentPaymentMethodDataFpxBank::Maybank2u => "maybank2u",
CreatePaymentIntentPaymentMethodDataFpxBank::Ocbc => "ocbc",
CreatePaymentIntentPaymentMethodDataFpxBank::PbEnterprise => "pb_enterprise",
CreatePaymentIntentPaymentMethodDataFpxBank::PublicBank => "public_bank",
CreatePaymentIntentPaymentMethodDataFpxBank::Rhb => "rhb",
CreatePaymentIntentPaymentMethodDataFpxBank::StandardChartered => "standard_chartered",
CreatePaymentIntentPaymentMethodDataFpxBank::Uob => "uob",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodDataFpxBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodDataFpxBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodDataIdealBank {
AbnAmro,
AsnBank,
Bunq,
Handelsbanken,
Ing,
Knab,
Moneyou,
Rabobank,
Regiobank,
Revolut,
SnsBank,
TriodosBank,
VanLanschot,
}
impl CreatePaymentIntentPaymentMethodDataIdealBank {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodDataIdealBank::AbnAmro => "abn_amro",
CreatePaymentIntentPaymentMethodDataIdealBank::AsnBank => "asn_bank",
CreatePaymentIntentPaymentMethodDataIdealBank::Bunq => "bunq",
CreatePaymentIntentPaymentMethodDataIdealBank::Handelsbanken => "handelsbanken",
CreatePaymentIntentPaymentMethodDataIdealBank::Ing => "ing",
CreatePaymentIntentPaymentMethodDataIdealBank::Knab => "knab",
CreatePaymentIntentPaymentMethodDataIdealBank::Moneyou => "moneyou",
CreatePaymentIntentPaymentMethodDataIdealBank::Rabobank => "rabobank",
CreatePaymentIntentPaymentMethodDataIdealBank::Regiobank => "regiobank",
CreatePaymentIntentPaymentMethodDataIdealBank::Revolut => "revolut",
CreatePaymentIntentPaymentMethodDataIdealBank::SnsBank => "sns_bank",
CreatePaymentIntentPaymentMethodDataIdealBank::TriodosBank => "triodos_bank",
CreatePaymentIntentPaymentMethodDataIdealBank::VanLanschot => "van_lanschot",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodDataIdealBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodDataIdealBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodDataP24Bank {
AliorBank,
BankMillennium,
BankNowyBfgSa,
BankPekaoSa,
BankiSpbdzielcze,
Blik,
BnpParibas,
Boz,
CitiHandlowy,
CreditAgricole,
Envelobank,
EtransferPocztowy24,
GetinBank,
Ideabank,
Ing,
Inteligo,
MbankMtransfer,
NestPrzelew,
NoblePay,
PbacZIpko,
PlusBank,
SantanderPrzelew24,
TmobileUsbugiBankowe,
ToyotaBank,
VolkswagenBank,
}
impl CreatePaymentIntentPaymentMethodDataP24Bank {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodDataP24Bank::AliorBank => "alior_bank",
CreatePaymentIntentPaymentMethodDataP24Bank::BankMillennium => "bank_millennium",
CreatePaymentIntentPaymentMethodDataP24Bank::BankNowyBfgSa => "bank_nowy_bfg_sa",
CreatePaymentIntentPaymentMethodDataP24Bank::BankPekaoSa => "bank_pekao_sa",
CreatePaymentIntentPaymentMethodDataP24Bank::BankiSpbdzielcze => "banki_spbdzielcze",
CreatePaymentIntentPaymentMethodDataP24Bank::Blik => "blik",
CreatePaymentIntentPaymentMethodDataP24Bank::BnpParibas => "bnp_paribas",
CreatePaymentIntentPaymentMethodDataP24Bank::Boz => "boz",
CreatePaymentIntentPaymentMethodDataP24Bank::CitiHandlowy => "citi_handlowy",
CreatePaymentIntentPaymentMethodDataP24Bank::CreditAgricole => "credit_agricole",
CreatePaymentIntentPaymentMethodDataP24Bank::Envelobank => "envelobank",
CreatePaymentIntentPaymentMethodDataP24Bank::EtransferPocztowy24 => {
"etransfer_pocztowy24"
}
CreatePaymentIntentPaymentMethodDataP24Bank::GetinBank => "getin_bank",
CreatePaymentIntentPaymentMethodDataP24Bank::Ideabank => "ideabank",
CreatePaymentIntentPaymentMethodDataP24Bank::Ing => "ing",
CreatePaymentIntentPaymentMethodDataP24Bank::Inteligo => "inteligo",
CreatePaymentIntentPaymentMethodDataP24Bank::MbankMtransfer => "mbank_mtransfer",
CreatePaymentIntentPaymentMethodDataP24Bank::NestPrzelew => "nest_przelew",
CreatePaymentIntentPaymentMethodDataP24Bank::NoblePay => "noble_pay",
CreatePaymentIntentPaymentMethodDataP24Bank::PbacZIpko => "pbac_z_ipko",
CreatePaymentIntentPaymentMethodDataP24Bank::PlusBank => "plus_bank",
CreatePaymentIntentPaymentMethodDataP24Bank::SantanderPrzelew24 => {
"santander_przelew24"
}
CreatePaymentIntentPaymentMethodDataP24Bank::TmobileUsbugiBankowe => {
"tmobile_usbugi_bankowe"
}
CreatePaymentIntentPaymentMethodDataP24Bank::ToyotaBank => "toyota_bank",
CreatePaymentIntentPaymentMethodDataP24Bank::VolkswagenBank => "volkswagen_bank",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodDataP24Bank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodDataP24Bank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodDataSofortCountry {
#[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 CreatePaymentIntentPaymentMethodDataSofortCountry {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodDataSofortCountry::At => "AT",
CreatePaymentIntentPaymentMethodDataSofortCountry::Be => "BE",
CreatePaymentIntentPaymentMethodDataSofortCountry::De => "DE",
CreatePaymentIntentPaymentMethodDataSofortCountry::Es => "ES",
CreatePaymentIntentPaymentMethodDataSofortCountry::It => "IT",
CreatePaymentIntentPaymentMethodDataSofortCountry::Nl => "NL",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodDataSofortCountry {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodDataSofortCountry {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodDataType {
AfterpayClearpay,
Alipay,
AuBecsDebit,
BacsDebit,
Bancontact,
Eps,
Fpx,
Giropay,
Grabpay,
Ideal,
Oxxo,
P24,
SepaDebit,
Sofort,
}
impl CreatePaymentIntentPaymentMethodDataType {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodDataType::AfterpayClearpay => "afterpay_clearpay",
CreatePaymentIntentPaymentMethodDataType::Alipay => "alipay",
CreatePaymentIntentPaymentMethodDataType::AuBecsDebit => "au_becs_debit",
CreatePaymentIntentPaymentMethodDataType::BacsDebit => "bacs_debit",
CreatePaymentIntentPaymentMethodDataType::Bancontact => "bancontact",
CreatePaymentIntentPaymentMethodDataType::Eps => "eps",
CreatePaymentIntentPaymentMethodDataType::Fpx => "fpx",
CreatePaymentIntentPaymentMethodDataType::Giropay => "giropay",
CreatePaymentIntentPaymentMethodDataType::Grabpay => "grabpay",
CreatePaymentIntentPaymentMethodDataType::Ideal => "ideal",
CreatePaymentIntentPaymentMethodDataType::Oxxo => "oxxo",
CreatePaymentIntentPaymentMethodDataType::P24 => "p24",
CreatePaymentIntentPaymentMethodDataType::SepaDebit => "sepa_debit",
CreatePaymentIntentPaymentMethodDataType::Sofort => "sofort",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodDataType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodDataType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
De,
En,
Fr,
Nl,
}
impl CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::De => "de",
CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::En => "en",
CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::Fr => "fr",
CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::Nl => "nl",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
Month,
}
impl CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval::Month => "month",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
FixedCount,
}
impl CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType::FixedCount => {
"fixed_count"
}
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodOptionsCardNetwork {
Amex,
CartesBancaires,
Diners,
Discover,
Interac,
Jcb,
Mastercard,
Unionpay,
Unknown,
Visa,
}
impl CreatePaymentIntentPaymentMethodOptionsCardNetwork {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Amex => "amex",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::CartesBancaires => {
"cartes_bancaires"
}
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Diners => "diners",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Discover => "discover",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Interac => "interac",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Jcb => "jcb",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Mastercard => "mastercard",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Unionpay => "unionpay",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Unknown => "unknown",
CreatePaymentIntentPaymentMethodOptionsCardNetwork::Visa => "visa",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodOptionsCardNetwork {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodOptionsCardNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
Any,
Automatic,
}
impl CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::Any => "any",
CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::Automatic => {
"automatic"
}
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
De,
En,
Es,
Fr,
It,
Nl,
Pl,
}
impl CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
pub fn as_str(self) -> &'static str {
match self {
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::De => "de",
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::En => "en",
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Es => "es",
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Fr => "fr",
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::It => "it",
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Nl => "nl",
CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Pl => "pl",
}
}
}
impl AsRef<str> for CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for CreatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentCancellationReason {
Abandoned,
Automatic,
Duplicate,
FailedInvoice,
Fraudulent,
RequestedByCustomer,
VoidInvoice,
}
impl PaymentIntentCancellationReason {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentCancellationReason::Abandoned => "abandoned",
PaymentIntentCancellationReason::Automatic => "automatic",
PaymentIntentCancellationReason::Duplicate => "duplicate",
PaymentIntentCancellationReason::FailedInvoice => "failed_invoice",
PaymentIntentCancellationReason::Fraudulent => "fraudulent",
PaymentIntentCancellationReason::RequestedByCustomer => "requested_by_customer",
PaymentIntentCancellationReason::VoidInvoice => "void_invoice",
}
}
}
impl AsRef<str> for PaymentIntentCancellationReason {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentCancellationReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentCaptureMethod {
Automatic,
Manual,
}
impl PaymentIntentCaptureMethod {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentCaptureMethod::Automatic => "automatic",
PaymentIntentCaptureMethod::Manual => "manual",
}
}
}
impl AsRef<str> for PaymentIntentCaptureMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentCaptureMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentConfirmationMethod {
Automatic,
Manual,
}
impl PaymentIntentConfirmationMethod {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentConfirmationMethod::Automatic => "automatic",
PaymentIntentConfirmationMethod::Manual => "manual",
}
}
}
impl AsRef<str> for PaymentIntentConfirmationMethod {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentConfirmationMethod {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentPaymentMethodOptionsCardNetwork {
Amex,
CartesBancaires,
Diners,
Discover,
Interac,
Jcb,
Mastercard,
Unionpay,
Unknown,
Visa,
}
impl PaymentIntentPaymentMethodOptionsCardNetwork {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentPaymentMethodOptionsCardNetwork::Amex => "amex",
PaymentIntentPaymentMethodOptionsCardNetwork::CartesBancaires => "cartes_bancaires",
PaymentIntentPaymentMethodOptionsCardNetwork::Diners => "diners",
PaymentIntentPaymentMethodOptionsCardNetwork::Discover => "discover",
PaymentIntentPaymentMethodOptionsCardNetwork::Interac => "interac",
PaymentIntentPaymentMethodOptionsCardNetwork::Jcb => "jcb",
PaymentIntentPaymentMethodOptionsCardNetwork::Mastercard => "mastercard",
PaymentIntentPaymentMethodOptionsCardNetwork::Unionpay => "unionpay",
PaymentIntentPaymentMethodOptionsCardNetwork::Unknown => "unknown",
PaymentIntentPaymentMethodOptionsCardNetwork::Visa => "visa",
}
}
}
impl AsRef<str> for PaymentIntentPaymentMethodOptionsCardNetwork {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentPaymentMethodOptionsCardNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
Any,
Automatic,
ChallengeOnly,
}
impl PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::Any => "any",
PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::Automatic => "automatic",
PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::ChallengeOnly => {
"challenge_only"
}
}
}
}
impl AsRef<str> for PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentSetupFutureUsage {
OffSession,
OnSession,
}
impl PaymentIntentSetupFutureUsage {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentSetupFutureUsage::OffSession => "off_session",
PaymentIntentSetupFutureUsage::OnSession => "on_session",
}
}
}
impl AsRef<str> for PaymentIntentSetupFutureUsage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentSetupFutureUsage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentSetupFutureUsageFilter {
OffSession,
OnSession,
}
impl PaymentIntentSetupFutureUsageFilter {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentSetupFutureUsageFilter::OffSession => "off_session",
PaymentIntentSetupFutureUsageFilter::OnSession => "on_session",
}
}
}
impl AsRef<str> for PaymentIntentSetupFutureUsageFilter {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentSetupFutureUsageFilter {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentIntentStatus {
Canceled,
Processing,
RequiresAction,
RequiresCapture,
RequiresConfirmation,
RequiresPaymentMethod,
Succeeded,
}
impl PaymentIntentStatus {
pub fn as_str(self) -> &'static str {
match self {
PaymentIntentStatus::Canceled => "canceled",
PaymentIntentStatus::Processing => "processing",
PaymentIntentStatus::RequiresAction => "requires_action",
PaymentIntentStatus::RequiresCapture => "requires_capture",
PaymentIntentStatus::RequiresConfirmation => "requires_confirmation",
PaymentIntentStatus::RequiresPaymentMethod => "requires_payment_method",
PaymentIntentStatus::Succeeded => "succeeded",
}
}
}
impl AsRef<str> for PaymentIntentStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentIntentStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentMethodOptionsBancontactPreferredLanguage {
De,
En,
Fr,
Nl,
}
impl PaymentMethodOptionsBancontactPreferredLanguage {
pub fn as_str(self) -> &'static str {
match self {
PaymentMethodOptionsBancontactPreferredLanguage::De => "de",
PaymentMethodOptionsBancontactPreferredLanguage::En => "en",
PaymentMethodOptionsBancontactPreferredLanguage::Fr => "fr",
PaymentMethodOptionsBancontactPreferredLanguage::Nl => "nl",
}
}
}
impl AsRef<str> for PaymentMethodOptionsBancontactPreferredLanguage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentMethodOptionsBancontactPreferredLanguage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum PaymentMethodOptionsSofortPreferredLanguage {
De,
En,
Es,
Fr,
It,
Nl,
Pl,
}
impl PaymentMethodOptionsSofortPreferredLanguage {
pub fn as_str(self) -> &'static str {
match self {
PaymentMethodOptionsSofortPreferredLanguage::De => "de",
PaymentMethodOptionsSofortPreferredLanguage::En => "en",
PaymentMethodOptionsSofortPreferredLanguage::Es => "es",
PaymentMethodOptionsSofortPreferredLanguage::Fr => "fr",
PaymentMethodOptionsSofortPreferredLanguage::It => "it",
PaymentMethodOptionsSofortPreferredLanguage::Nl => "nl",
PaymentMethodOptionsSofortPreferredLanguage::Pl => "pl",
}
}
}
impl AsRef<str> for PaymentMethodOptionsSofortPreferredLanguage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for PaymentMethodOptionsSofortPreferredLanguage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodDataEpsBank {
ArzteUndApothekerBank,
AustrianAnadiBankAg,
BankAustria,
BankhausCarlSpangler,
BankhausSchelhammerUndSchatteraAg,
BawagPskAg,
BksBankAg,
BrullKallmusBankAg,
BtvVierLanderBank,
CapitalBankGraweGruppeAg,
Dolomitenbank,
EasybankAg,
ErsteBankUndSparkassen,
HypoAlpeadriabankInternationalAg,
HypoBankBurgenlandAktiengesellschaft,
HypoNoeLbFurNiederosterreichUWien,
HypoOberosterreichSalzburgSteiermark,
HypoTirolBankAg,
HypoVorarlbergBankAg,
MarchfelderBank,
OberbankAg,
RaiffeisenBankengruppeOsterreich,
SchoellerbankAg,
SpardaBankWien,
VolksbankGruppe,
VolkskreditbankAg,
VrBankBraunau,
}
impl UpdatePaymentIntentPaymentMethodDataEpsBank {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodDataEpsBank::ArzteUndApothekerBank => {
"arzte_und_apotheker_bank"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::AustrianAnadiBankAg => {
"austrian_anadi_bank_ag"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::BankAustria => "bank_austria",
UpdatePaymentIntentPaymentMethodDataEpsBank::BankhausCarlSpangler => {
"bankhaus_carl_spangler"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::BankhausSchelhammerUndSchatteraAg => {
"bankhaus_schelhammer_und_schattera_ag"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::BawagPskAg => "bawag_psk_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::BksBankAg => "bks_bank_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::BrullKallmusBankAg => {
"brull_kallmus_bank_ag"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::BtvVierLanderBank => {
"btv_vier_lander_bank"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::CapitalBankGraweGruppeAg => {
"capital_bank_grawe_gruppe_ag"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::Dolomitenbank => "dolomitenbank",
UpdatePaymentIntentPaymentMethodDataEpsBank::EasybankAg => "easybank_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::ErsteBankUndSparkassen => {
"erste_bank_und_sparkassen"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::HypoAlpeadriabankInternationalAg => {
"hypo_alpeadriabank_international_ag"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::HypoBankBurgenlandAktiengesellschaft => {
"hypo_bank_burgenland_aktiengesellschaft"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::HypoNoeLbFurNiederosterreichUWien => {
"hypo_noe_lb_fur_niederosterreich_u_wien"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::HypoOberosterreichSalzburgSteiermark => {
"hypo_oberosterreich_salzburg_steiermark"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::HypoTirolBankAg => "hypo_tirol_bank_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::HypoVorarlbergBankAg => {
"hypo_vorarlberg_bank_ag"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::MarchfelderBank => "marchfelder_bank",
UpdatePaymentIntentPaymentMethodDataEpsBank::OberbankAg => "oberbank_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::RaiffeisenBankengruppeOsterreich => {
"raiffeisen_bankengruppe_osterreich"
}
UpdatePaymentIntentPaymentMethodDataEpsBank::SchoellerbankAg => "schoellerbank_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::SpardaBankWien => "sparda_bank_wien",
UpdatePaymentIntentPaymentMethodDataEpsBank::VolksbankGruppe => "volksbank_gruppe",
UpdatePaymentIntentPaymentMethodDataEpsBank::VolkskreditbankAg => "volkskreditbank_ag",
UpdatePaymentIntentPaymentMethodDataEpsBank::VrBankBraunau => "vr_bank_braunau",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodDataEpsBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodDataEpsBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodDataFpxBank {
AffinBank,
AllianceBank,
Ambank,
BankIslam,
BankMuamalat,
BankRakyat,
Bsn,
Cimb,
DeutscheBank,
HongLeongBank,
Hsbc,
Kfh,
Maybank2e,
Maybank2u,
Ocbc,
PbEnterprise,
PublicBank,
Rhb,
StandardChartered,
Uob,
}
impl UpdatePaymentIntentPaymentMethodDataFpxBank {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodDataFpxBank::AffinBank => "affin_bank",
UpdatePaymentIntentPaymentMethodDataFpxBank::AllianceBank => "alliance_bank",
UpdatePaymentIntentPaymentMethodDataFpxBank::Ambank => "ambank",
UpdatePaymentIntentPaymentMethodDataFpxBank::BankIslam => "bank_islam",
UpdatePaymentIntentPaymentMethodDataFpxBank::BankMuamalat => "bank_muamalat",
UpdatePaymentIntentPaymentMethodDataFpxBank::BankRakyat => "bank_rakyat",
UpdatePaymentIntentPaymentMethodDataFpxBank::Bsn => "bsn",
UpdatePaymentIntentPaymentMethodDataFpxBank::Cimb => "cimb",
UpdatePaymentIntentPaymentMethodDataFpxBank::DeutscheBank => "deutsche_bank",
UpdatePaymentIntentPaymentMethodDataFpxBank::HongLeongBank => "hong_leong_bank",
UpdatePaymentIntentPaymentMethodDataFpxBank::Hsbc => "hsbc",
UpdatePaymentIntentPaymentMethodDataFpxBank::Kfh => "kfh",
UpdatePaymentIntentPaymentMethodDataFpxBank::Maybank2e => "maybank2e",
UpdatePaymentIntentPaymentMethodDataFpxBank::Maybank2u => "maybank2u",
UpdatePaymentIntentPaymentMethodDataFpxBank::Ocbc => "ocbc",
UpdatePaymentIntentPaymentMethodDataFpxBank::PbEnterprise => "pb_enterprise",
UpdatePaymentIntentPaymentMethodDataFpxBank::PublicBank => "public_bank",
UpdatePaymentIntentPaymentMethodDataFpxBank::Rhb => "rhb",
UpdatePaymentIntentPaymentMethodDataFpxBank::StandardChartered => "standard_chartered",
UpdatePaymentIntentPaymentMethodDataFpxBank::Uob => "uob",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodDataFpxBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodDataFpxBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodDataIdealBank {
AbnAmro,
AsnBank,
Bunq,
Handelsbanken,
Ing,
Knab,
Moneyou,
Rabobank,
Regiobank,
Revolut,
SnsBank,
TriodosBank,
VanLanschot,
}
impl UpdatePaymentIntentPaymentMethodDataIdealBank {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodDataIdealBank::AbnAmro => "abn_amro",
UpdatePaymentIntentPaymentMethodDataIdealBank::AsnBank => "asn_bank",
UpdatePaymentIntentPaymentMethodDataIdealBank::Bunq => "bunq",
UpdatePaymentIntentPaymentMethodDataIdealBank::Handelsbanken => "handelsbanken",
UpdatePaymentIntentPaymentMethodDataIdealBank::Ing => "ing",
UpdatePaymentIntentPaymentMethodDataIdealBank::Knab => "knab",
UpdatePaymentIntentPaymentMethodDataIdealBank::Moneyou => "moneyou",
UpdatePaymentIntentPaymentMethodDataIdealBank::Rabobank => "rabobank",
UpdatePaymentIntentPaymentMethodDataIdealBank::Regiobank => "regiobank",
UpdatePaymentIntentPaymentMethodDataIdealBank::Revolut => "revolut",
UpdatePaymentIntentPaymentMethodDataIdealBank::SnsBank => "sns_bank",
UpdatePaymentIntentPaymentMethodDataIdealBank::TriodosBank => "triodos_bank",
UpdatePaymentIntentPaymentMethodDataIdealBank::VanLanschot => "van_lanschot",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodDataIdealBank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodDataIdealBank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodDataP24Bank {
AliorBank,
BankMillennium,
BankNowyBfgSa,
BankPekaoSa,
BankiSpbdzielcze,
Blik,
BnpParibas,
Boz,
CitiHandlowy,
CreditAgricole,
Envelobank,
EtransferPocztowy24,
GetinBank,
Ideabank,
Ing,
Inteligo,
MbankMtransfer,
NestPrzelew,
NoblePay,
PbacZIpko,
PlusBank,
SantanderPrzelew24,
TmobileUsbugiBankowe,
ToyotaBank,
VolkswagenBank,
}
impl UpdatePaymentIntentPaymentMethodDataP24Bank {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodDataP24Bank::AliorBank => "alior_bank",
UpdatePaymentIntentPaymentMethodDataP24Bank::BankMillennium => "bank_millennium",
UpdatePaymentIntentPaymentMethodDataP24Bank::BankNowyBfgSa => "bank_nowy_bfg_sa",
UpdatePaymentIntentPaymentMethodDataP24Bank::BankPekaoSa => "bank_pekao_sa",
UpdatePaymentIntentPaymentMethodDataP24Bank::BankiSpbdzielcze => "banki_spbdzielcze",
UpdatePaymentIntentPaymentMethodDataP24Bank::Blik => "blik",
UpdatePaymentIntentPaymentMethodDataP24Bank::BnpParibas => "bnp_paribas",
UpdatePaymentIntentPaymentMethodDataP24Bank::Boz => "boz",
UpdatePaymentIntentPaymentMethodDataP24Bank::CitiHandlowy => "citi_handlowy",
UpdatePaymentIntentPaymentMethodDataP24Bank::CreditAgricole => "credit_agricole",
UpdatePaymentIntentPaymentMethodDataP24Bank::Envelobank => "envelobank",
UpdatePaymentIntentPaymentMethodDataP24Bank::EtransferPocztowy24 => {
"etransfer_pocztowy24"
}
UpdatePaymentIntentPaymentMethodDataP24Bank::GetinBank => "getin_bank",
UpdatePaymentIntentPaymentMethodDataP24Bank::Ideabank => "ideabank",
UpdatePaymentIntentPaymentMethodDataP24Bank::Ing => "ing",
UpdatePaymentIntentPaymentMethodDataP24Bank::Inteligo => "inteligo",
UpdatePaymentIntentPaymentMethodDataP24Bank::MbankMtransfer => "mbank_mtransfer",
UpdatePaymentIntentPaymentMethodDataP24Bank::NestPrzelew => "nest_przelew",
UpdatePaymentIntentPaymentMethodDataP24Bank::NoblePay => "noble_pay",
UpdatePaymentIntentPaymentMethodDataP24Bank::PbacZIpko => "pbac_z_ipko",
UpdatePaymentIntentPaymentMethodDataP24Bank::PlusBank => "plus_bank",
UpdatePaymentIntentPaymentMethodDataP24Bank::SantanderPrzelew24 => {
"santander_przelew24"
}
UpdatePaymentIntentPaymentMethodDataP24Bank::TmobileUsbugiBankowe => {
"tmobile_usbugi_bankowe"
}
UpdatePaymentIntentPaymentMethodDataP24Bank::ToyotaBank => "toyota_bank",
UpdatePaymentIntentPaymentMethodDataP24Bank::VolkswagenBank => "volkswagen_bank",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodDataP24Bank {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodDataP24Bank {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodDataSofortCountry {
#[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 UpdatePaymentIntentPaymentMethodDataSofortCountry {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodDataSofortCountry::At => "AT",
UpdatePaymentIntentPaymentMethodDataSofortCountry::Be => "BE",
UpdatePaymentIntentPaymentMethodDataSofortCountry::De => "DE",
UpdatePaymentIntentPaymentMethodDataSofortCountry::Es => "ES",
UpdatePaymentIntentPaymentMethodDataSofortCountry::It => "IT",
UpdatePaymentIntentPaymentMethodDataSofortCountry::Nl => "NL",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodDataSofortCountry {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodDataSofortCountry {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodDataType {
AfterpayClearpay,
Alipay,
AuBecsDebit,
BacsDebit,
Bancontact,
Eps,
Fpx,
Giropay,
Grabpay,
Ideal,
Oxxo,
P24,
SepaDebit,
Sofort,
}
impl UpdatePaymentIntentPaymentMethodDataType {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodDataType::AfterpayClearpay => "afterpay_clearpay",
UpdatePaymentIntentPaymentMethodDataType::Alipay => "alipay",
UpdatePaymentIntentPaymentMethodDataType::AuBecsDebit => "au_becs_debit",
UpdatePaymentIntentPaymentMethodDataType::BacsDebit => "bacs_debit",
UpdatePaymentIntentPaymentMethodDataType::Bancontact => "bancontact",
UpdatePaymentIntentPaymentMethodDataType::Eps => "eps",
UpdatePaymentIntentPaymentMethodDataType::Fpx => "fpx",
UpdatePaymentIntentPaymentMethodDataType::Giropay => "giropay",
UpdatePaymentIntentPaymentMethodDataType::Grabpay => "grabpay",
UpdatePaymentIntentPaymentMethodDataType::Ideal => "ideal",
UpdatePaymentIntentPaymentMethodDataType::Oxxo => "oxxo",
UpdatePaymentIntentPaymentMethodDataType::P24 => "p24",
UpdatePaymentIntentPaymentMethodDataType::SepaDebit => "sepa_debit",
UpdatePaymentIntentPaymentMethodDataType::Sofort => "sofort",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodDataType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodDataType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
De,
En,
Fr,
Nl,
}
impl UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::De => "de",
UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::En => "en",
UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::Fr => "fr",
UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage::Nl => "nl",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodOptionsBancontactPreferredLanguage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
Month,
}
impl UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval::Month => "month",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanInterval {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
FixedCount,
}
impl UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType::FixedCount => {
"fixed_count"
}
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodOptionsCardInstallmentsPlanType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodOptionsCardNetwork {
Amex,
CartesBancaires,
Diners,
Discover,
Interac,
Jcb,
Mastercard,
Unionpay,
Unknown,
Visa,
}
impl UpdatePaymentIntentPaymentMethodOptionsCardNetwork {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Amex => "amex",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::CartesBancaires => {
"cartes_bancaires"
}
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Diners => "diners",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Discover => "discover",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Interac => "interac",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Jcb => "jcb",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Mastercard => "mastercard",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Unionpay => "unionpay",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Unknown => "unknown",
UpdatePaymentIntentPaymentMethodOptionsCardNetwork::Visa => "visa",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodOptionsCardNetwork {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodOptionsCardNetwork {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
Any,
Automatic,
}
impl UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::Any => "any",
UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure::Automatic => {
"automatic"
}
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodOptionsCardRequestThreeDSecure {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}
#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
De,
En,
Es,
Fr,
It,
Nl,
Pl,
}
impl UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
pub fn as_str(self) -> &'static str {
match self {
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::De => "de",
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::En => "en",
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Es => "es",
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Fr => "fr",
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::It => "it",
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Nl => "nl",
UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage::Pl => "pl",
}
}
}
impl AsRef<str> for UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
fn as_ref(&self) -> &str {
self.as_str()
}
}
impl std::fmt::Display for UpdatePaymentIntentPaymentMethodOptionsSofortPreferredLanguage {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
self.as_str().fmt(f)
}
}