stripe/resources/generated/
invoice_payment_method_options_bancontact.rs

1// ======================================
2// This file was automatically generated.
3// ======================================
4
5use serde::{Deserialize, Serialize};
6
7/// The resource representing a Stripe "invoice_payment_method_options_bancontact".
8#[derive(Clone, Debug, Default, Deserialize, Serialize)]
9pub struct InvoicePaymentMethodOptionsBancontact {
10    /// Preferred language of the Bancontact authorization page that the customer is redirected to.
11    pub preferred_language: InvoicePaymentMethodOptionsBancontactPreferredLanguage,
12}
13
14/// An enum representing the possible values of an `InvoicePaymentMethodOptionsBancontact`'s `preferred_language` field.
15#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
16#[serde(rename_all = "snake_case")]
17pub enum InvoicePaymentMethodOptionsBancontactPreferredLanguage {
18    De,
19    En,
20    Fr,
21    Nl,
22}
23
24impl InvoicePaymentMethodOptionsBancontactPreferredLanguage {
25    pub fn as_str(self) -> &'static str {
26        match self {
27            InvoicePaymentMethodOptionsBancontactPreferredLanguage::De => "de",
28            InvoicePaymentMethodOptionsBancontactPreferredLanguage::En => "en",
29            InvoicePaymentMethodOptionsBancontactPreferredLanguage::Fr => "fr",
30            InvoicePaymentMethodOptionsBancontactPreferredLanguage::Nl => "nl",
31        }
32    }
33}
34
35impl AsRef<str> for InvoicePaymentMethodOptionsBancontactPreferredLanguage {
36    fn as_ref(&self) -> &str {
37        self.as_str()
38    }
39}
40
41impl std::fmt::Display for InvoicePaymentMethodOptionsBancontactPreferredLanguage {
42    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
43        self.as_str().fmt(f)
44    }
45}
46impl std::default::Default for InvoicePaymentMethodOptionsBancontactPreferredLanguage {
47    fn default() -> Self {
48        Self::De
49    }
50}