Skip to main content

stripe_shared/
payment_intent_payment_method_options.rs

1#[derive(Clone, Eq, PartialEq)]
2#[cfg_attr(not(feature = "redact-generated-debug"), derive(Debug))]
3#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
4#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
5pub struct PaymentIntentPaymentMethodOptions {
6    pub acss_debit: Option<stripe_shared::PaymentIntentPaymentMethodOptionsAcssDebit>,
7    pub affirm: Option<stripe_shared::PaymentMethodOptionsAffirm>,
8    pub afterpay_clearpay: Option<stripe_shared::PaymentMethodOptionsAfterpayClearpay>,
9    pub alipay: Option<stripe_shared::PaymentMethodOptionsAlipay>,
10    pub alma: Option<stripe_shared::PaymentMethodOptionsAlma>,
11    pub amazon_pay: Option<stripe_shared::PaymentMethodOptionsAmazonPay>,
12    pub au_becs_debit: Option<stripe_shared::PaymentIntentPaymentMethodOptionsAuBecsDebit>,
13    pub bacs_debit: Option<stripe_shared::PaymentIntentPaymentMethodOptionsBacsDebit>,
14    pub bancontact: Option<stripe_shared::PaymentMethodOptionsBancontact>,
15    pub billie: Option<stripe_shared::PaymentMethodOptionsBillie>,
16    pub bizum: Option<stripe_shared::PaymentMethodOptionsBizum>,
17    pub blik: Option<stripe_shared::PaymentIntentPaymentMethodOptionsBlik>,
18    pub boleto: Option<stripe_shared::PaymentMethodOptionsBoleto>,
19    pub card: Option<stripe_shared::PaymentIntentPaymentMethodOptionsCard>,
20    pub card_present: Option<stripe_shared::PaymentMethodOptionsCardPresent>,
21    pub cashapp: Option<stripe_shared::PaymentMethodOptionsCashapp>,
22    pub crypto: Option<stripe_shared::PaymentMethodOptionsCrypto>,
23    pub customer_balance: Option<stripe_shared::PaymentMethodOptionsCustomerBalance>,
24    pub eps: Option<stripe_shared::PaymentIntentPaymentMethodOptionsEps>,
25    pub fpx: Option<stripe_shared::PaymentMethodOptionsFpx>,
26    pub giropay: Option<stripe_shared::PaymentMethodOptionsGiropay>,
27    pub grabpay: Option<stripe_shared::PaymentMethodOptionsGrabpay>,
28    pub ideal: Option<stripe_shared::PaymentMethodOptionsIdeal>,
29    pub interac_present: Option<stripe_shared::PaymentMethodOptionsInteracPresent>,
30    pub kakao_pay:
31        Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsKakaoPayPaymentMethodOptions>,
32    pub klarna: Option<stripe_shared::PaymentMethodOptionsKlarna>,
33    pub konbini: Option<stripe_shared::PaymentMethodOptionsKonbini>,
34    pub kr_card: Option<stripe_shared::PaymentMethodOptionsKrCard>,
35    pub link: Option<stripe_shared::PaymentIntentPaymentMethodOptionsLink>,
36    pub mb_way: Option<stripe_shared::PaymentMethodOptionsMbWay>,
37    pub mobilepay: Option<stripe_shared::PaymentIntentPaymentMethodOptionsMobilepay>,
38    pub multibanco: Option<stripe_shared::PaymentMethodOptionsMultibanco>,
39    pub naver_pay:
40        Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsNaverPayPaymentMethodOptions>,
41    pub nz_bank_account: Option<stripe_shared::PaymentIntentPaymentMethodOptionsNzBankAccount>,
42    pub oxxo: Option<stripe_shared::PaymentMethodOptionsOxxo>,
43    pub p24: Option<stripe_shared::PaymentMethodOptionsP24>,
44    pub pay_by_bank: Option<stripe_shared::PaymentMethodOptionsPayByBank>,
45    pub payco: Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsPaycoPaymentMethodOptions>,
46    pub paynow: Option<stripe_shared::PaymentMethodOptionsPaynow>,
47    pub paypal: Option<stripe_shared::PaymentMethodOptionsPaypal>,
48    pub payto: Option<stripe_shared::PaymentIntentPaymentMethodOptionsPayto>,
49    pub pix: Option<stripe_shared::PaymentMethodOptionsPix>,
50    pub promptpay: Option<stripe_shared::PaymentMethodOptionsPromptpay>,
51    pub revolut_pay: Option<stripe_shared::PaymentMethodOptionsRevolutPay>,
52    pub samsung_pay:
53        Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsSamsungPayPaymentMethodOptions>,
54    pub satispay: Option<stripe_shared::PaymentMethodOptionsSatispay>,
55    pub scalapay: Option<stripe_shared::PaymentMethodOptionsScalapay>,
56    pub sepa_debit: Option<stripe_shared::PaymentIntentPaymentMethodOptionsSepaDebit>,
57    pub sofort: Option<stripe_shared::PaymentMethodOptionsSofort>,
58    pub sunbit: Option<stripe_shared::PaymentMethodOptionsSunbit>,
59    pub swish: Option<stripe_shared::PaymentIntentPaymentMethodOptionsSwish>,
60    pub twint: Option<stripe_shared::PaymentMethodOptionsTwint>,
61    pub upi: Option<stripe_shared::PaymentMethodOptionsUpi>,
62    pub us_bank_account: Option<stripe_shared::PaymentIntentPaymentMethodOptionsUsBankAccount>,
63    pub wechat_pay: Option<stripe_shared::PaymentMethodOptionsWechatPay>,
64    pub zip: Option<stripe_shared::PaymentMethodOptionsZip>,
65}
66#[cfg(feature = "redact-generated-debug")]
67impl std::fmt::Debug for PaymentIntentPaymentMethodOptions {
68    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
69        f.debug_struct("PaymentIntentPaymentMethodOptions").finish_non_exhaustive()
70    }
71}
72#[doc(hidden)]
73pub struct PaymentIntentPaymentMethodOptionsBuilder {
74    acss_debit: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsAcssDebit>>,
75    affirm: Option<Option<stripe_shared::PaymentMethodOptionsAffirm>>,
76    afterpay_clearpay: Option<Option<stripe_shared::PaymentMethodOptionsAfterpayClearpay>>,
77    alipay: Option<Option<stripe_shared::PaymentMethodOptionsAlipay>>,
78    alma: Option<Option<stripe_shared::PaymentMethodOptionsAlma>>,
79    amazon_pay: Option<Option<stripe_shared::PaymentMethodOptionsAmazonPay>>,
80    au_becs_debit: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsAuBecsDebit>>,
81    bacs_debit: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsBacsDebit>>,
82    bancontact: Option<Option<stripe_shared::PaymentMethodOptionsBancontact>>,
83    billie: Option<Option<stripe_shared::PaymentMethodOptionsBillie>>,
84    bizum: Option<Option<stripe_shared::PaymentMethodOptionsBizum>>,
85    blik: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsBlik>>,
86    boleto: Option<Option<stripe_shared::PaymentMethodOptionsBoleto>>,
87    card: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsCard>>,
88    card_present: Option<Option<stripe_shared::PaymentMethodOptionsCardPresent>>,
89    cashapp: Option<Option<stripe_shared::PaymentMethodOptionsCashapp>>,
90    crypto: Option<Option<stripe_shared::PaymentMethodOptionsCrypto>>,
91    customer_balance: Option<Option<stripe_shared::PaymentMethodOptionsCustomerBalance>>,
92    eps: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsEps>>,
93    fpx: Option<Option<stripe_shared::PaymentMethodOptionsFpx>>,
94    giropay: Option<Option<stripe_shared::PaymentMethodOptionsGiropay>>,
95    grabpay: Option<Option<stripe_shared::PaymentMethodOptionsGrabpay>>,
96    ideal: Option<Option<stripe_shared::PaymentMethodOptionsIdeal>>,
97    interac_present: Option<Option<stripe_shared::PaymentMethodOptionsInteracPresent>>,
98    kakao_pay: Option<
99        Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsKakaoPayPaymentMethodOptions>,
100    >,
101    klarna: Option<Option<stripe_shared::PaymentMethodOptionsKlarna>>,
102    konbini: Option<Option<stripe_shared::PaymentMethodOptionsKonbini>>,
103    kr_card: Option<Option<stripe_shared::PaymentMethodOptionsKrCard>>,
104    link: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsLink>>,
105    mb_way: Option<Option<stripe_shared::PaymentMethodOptionsMbWay>>,
106    mobilepay: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsMobilepay>>,
107    multibanco: Option<Option<stripe_shared::PaymentMethodOptionsMultibanco>>,
108    naver_pay: Option<
109        Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsNaverPayPaymentMethodOptions>,
110    >,
111    nz_bank_account: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsNzBankAccount>>,
112    oxxo: Option<Option<stripe_shared::PaymentMethodOptionsOxxo>>,
113    p24: Option<Option<stripe_shared::PaymentMethodOptionsP24>>,
114    pay_by_bank: Option<Option<stripe_shared::PaymentMethodOptionsPayByBank>>,
115    payco:
116        Option<Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsPaycoPaymentMethodOptions>>,
117    paynow: Option<Option<stripe_shared::PaymentMethodOptionsPaynow>>,
118    paypal: Option<Option<stripe_shared::PaymentMethodOptionsPaypal>>,
119    payto: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsPayto>>,
120    pix: Option<Option<stripe_shared::PaymentMethodOptionsPix>>,
121    promptpay: Option<Option<stripe_shared::PaymentMethodOptionsPromptpay>>,
122    revolut_pay: Option<Option<stripe_shared::PaymentMethodOptionsRevolutPay>>,
123    samsung_pay: Option<
124        Option<stripe_shared::PaymentFlowsPrivatePaymentMethodsSamsungPayPaymentMethodOptions>,
125    >,
126    satispay: Option<Option<stripe_shared::PaymentMethodOptionsSatispay>>,
127    scalapay: Option<Option<stripe_shared::PaymentMethodOptionsScalapay>>,
128    sepa_debit: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsSepaDebit>>,
129    sofort: Option<Option<stripe_shared::PaymentMethodOptionsSofort>>,
130    sunbit: Option<Option<stripe_shared::PaymentMethodOptionsSunbit>>,
131    swish: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsSwish>>,
132    twint: Option<Option<stripe_shared::PaymentMethodOptionsTwint>>,
133    upi: Option<Option<stripe_shared::PaymentMethodOptionsUpi>>,
134    us_bank_account: Option<Option<stripe_shared::PaymentIntentPaymentMethodOptionsUsBankAccount>>,
135    wechat_pay: Option<Option<stripe_shared::PaymentMethodOptionsWechatPay>>,
136    zip: Option<Option<stripe_shared::PaymentMethodOptionsZip>>,
137}
138
139#[allow(
140    unused_variables,
141    irrefutable_let_patterns,
142    clippy::let_unit_value,
143    clippy::match_single_binding,
144    clippy::single_match
145)]
146const _: () = {
147    use miniserde::de::{Map, Visitor};
148    use miniserde::json::Value;
149    use miniserde::{Deserialize, Result, make_place};
150    use stripe_types::miniserde_helpers::FromValueOpt;
151    use stripe_types::{MapBuilder, ObjectDeser};
152
153    make_place!(Place);
154
155    impl Deserialize for PaymentIntentPaymentMethodOptions {
156        fn begin(out: &mut Option<Self>) -> &mut dyn Visitor {
157            Place::new(out)
158        }
159    }
160
161    struct Builder<'a> {
162        out: &'a mut Option<PaymentIntentPaymentMethodOptions>,
163        builder: PaymentIntentPaymentMethodOptionsBuilder,
164    }
165
166    impl Visitor for Place<PaymentIntentPaymentMethodOptions> {
167        fn map(&mut self) -> Result<Box<dyn Map + '_>> {
168            Ok(Box::new(Builder {
169                out: &mut self.out,
170                builder: PaymentIntentPaymentMethodOptionsBuilder::deser_default(),
171            }))
172        }
173    }
174
175    impl MapBuilder for PaymentIntentPaymentMethodOptionsBuilder {
176        type Out = PaymentIntentPaymentMethodOptions;
177        fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
178            Ok(match k {
179                "acss_debit" => Deserialize::begin(&mut self.acss_debit),
180                "affirm" => Deserialize::begin(&mut self.affirm),
181                "afterpay_clearpay" => Deserialize::begin(&mut self.afterpay_clearpay),
182                "alipay" => Deserialize::begin(&mut self.alipay),
183                "alma" => Deserialize::begin(&mut self.alma),
184                "amazon_pay" => Deserialize::begin(&mut self.amazon_pay),
185                "au_becs_debit" => Deserialize::begin(&mut self.au_becs_debit),
186                "bacs_debit" => Deserialize::begin(&mut self.bacs_debit),
187                "bancontact" => Deserialize::begin(&mut self.bancontact),
188                "billie" => Deserialize::begin(&mut self.billie),
189                "bizum" => Deserialize::begin(&mut self.bizum),
190                "blik" => Deserialize::begin(&mut self.blik),
191                "boleto" => Deserialize::begin(&mut self.boleto),
192                "card" => Deserialize::begin(&mut self.card),
193                "card_present" => Deserialize::begin(&mut self.card_present),
194                "cashapp" => Deserialize::begin(&mut self.cashapp),
195                "crypto" => Deserialize::begin(&mut self.crypto),
196                "customer_balance" => Deserialize::begin(&mut self.customer_balance),
197                "eps" => Deserialize::begin(&mut self.eps),
198                "fpx" => Deserialize::begin(&mut self.fpx),
199                "giropay" => Deserialize::begin(&mut self.giropay),
200                "grabpay" => Deserialize::begin(&mut self.grabpay),
201                "ideal" => Deserialize::begin(&mut self.ideal),
202                "interac_present" => Deserialize::begin(&mut self.interac_present),
203                "kakao_pay" => Deserialize::begin(&mut self.kakao_pay),
204                "klarna" => Deserialize::begin(&mut self.klarna),
205                "konbini" => Deserialize::begin(&mut self.konbini),
206                "kr_card" => Deserialize::begin(&mut self.kr_card),
207                "link" => Deserialize::begin(&mut self.link),
208                "mb_way" => Deserialize::begin(&mut self.mb_way),
209                "mobilepay" => Deserialize::begin(&mut self.mobilepay),
210                "multibanco" => Deserialize::begin(&mut self.multibanco),
211                "naver_pay" => Deserialize::begin(&mut self.naver_pay),
212                "nz_bank_account" => Deserialize::begin(&mut self.nz_bank_account),
213                "oxxo" => Deserialize::begin(&mut self.oxxo),
214                "p24" => Deserialize::begin(&mut self.p24),
215                "pay_by_bank" => Deserialize::begin(&mut self.pay_by_bank),
216                "payco" => Deserialize::begin(&mut self.payco),
217                "paynow" => Deserialize::begin(&mut self.paynow),
218                "paypal" => Deserialize::begin(&mut self.paypal),
219                "payto" => Deserialize::begin(&mut self.payto),
220                "pix" => Deserialize::begin(&mut self.pix),
221                "promptpay" => Deserialize::begin(&mut self.promptpay),
222                "revolut_pay" => Deserialize::begin(&mut self.revolut_pay),
223                "samsung_pay" => Deserialize::begin(&mut self.samsung_pay),
224                "satispay" => Deserialize::begin(&mut self.satispay),
225                "scalapay" => Deserialize::begin(&mut self.scalapay),
226                "sepa_debit" => Deserialize::begin(&mut self.sepa_debit),
227                "sofort" => Deserialize::begin(&mut self.sofort),
228                "sunbit" => Deserialize::begin(&mut self.sunbit),
229                "swish" => Deserialize::begin(&mut self.swish),
230                "twint" => Deserialize::begin(&mut self.twint),
231                "upi" => Deserialize::begin(&mut self.upi),
232                "us_bank_account" => Deserialize::begin(&mut self.us_bank_account),
233                "wechat_pay" => Deserialize::begin(&mut self.wechat_pay),
234                "zip" => Deserialize::begin(&mut self.zip),
235                _ => <dyn Visitor>::ignore(),
236            })
237        }
238
239        fn deser_default() -> Self {
240            Self {
241                acss_debit: Some(None),
242                affirm: Some(None),
243                afterpay_clearpay: Some(None),
244                alipay: Some(None),
245                alma: Some(None),
246                amazon_pay: Some(None),
247                au_becs_debit: Some(None),
248                bacs_debit: Some(None),
249                bancontact: Some(None),
250                billie: Some(None),
251                bizum: Some(None),
252                blik: Some(None),
253                boleto: Some(None),
254                card: Some(None),
255                card_present: Some(None),
256                cashapp: Some(None),
257                crypto: Some(None),
258                customer_balance: Some(None),
259                eps: Some(None),
260                fpx: Some(None),
261                giropay: Some(None),
262                grabpay: Some(None),
263                ideal: Some(None),
264                interac_present: Some(None),
265                kakao_pay: Some(None),
266                klarna: Some(None),
267                konbini: Some(None),
268                kr_card: Some(None),
269                link: Some(None),
270                mb_way: Some(None),
271                mobilepay: Some(None),
272                multibanco: Some(None),
273                naver_pay: Some(None),
274                nz_bank_account: Some(None),
275                oxxo: Some(None),
276                p24: Some(None),
277                pay_by_bank: Some(None),
278                payco: Some(None),
279                paynow: Some(None),
280                paypal: Some(None),
281                payto: Some(None),
282                pix: Some(None),
283                promptpay: Some(None),
284                revolut_pay: Some(None),
285                samsung_pay: Some(None),
286                satispay: Some(None),
287                scalapay: Some(None),
288                sepa_debit: Some(None),
289                sofort: Some(None),
290                sunbit: Some(None),
291                swish: Some(None),
292                twint: Some(None),
293                upi: Some(None),
294                us_bank_account: Some(None),
295                wechat_pay: Some(None),
296                zip: Some(None),
297            }
298        }
299
300        fn take_out(&mut self) -> Option<Self::Out> {
301            let (
302                Some(acss_debit),
303                Some(affirm),
304                Some(afterpay_clearpay),
305                Some(alipay),
306                Some(alma),
307                Some(amazon_pay),
308                Some(au_becs_debit),
309                Some(bacs_debit),
310                Some(bancontact),
311                Some(billie),
312                Some(bizum),
313                Some(blik),
314                Some(boleto),
315                Some(card),
316                Some(card_present),
317                Some(cashapp),
318                Some(crypto),
319                Some(customer_balance),
320                Some(eps),
321                Some(fpx),
322                Some(giropay),
323                Some(grabpay),
324                Some(ideal),
325                Some(interac_present),
326                Some(kakao_pay),
327                Some(klarna),
328                Some(konbini),
329                Some(kr_card),
330                Some(link),
331                Some(mb_way),
332                Some(mobilepay),
333                Some(multibanco),
334                Some(naver_pay),
335                Some(nz_bank_account),
336                Some(oxxo),
337                Some(p24),
338                Some(pay_by_bank),
339                Some(payco),
340                Some(paynow),
341                Some(paypal),
342                Some(payto),
343                Some(pix),
344                Some(promptpay),
345                Some(revolut_pay),
346                Some(samsung_pay),
347                Some(satispay),
348                Some(scalapay),
349                Some(sepa_debit),
350                Some(sofort),
351                Some(sunbit),
352                Some(swish),
353                Some(twint),
354                Some(upi),
355                Some(us_bank_account),
356                Some(wechat_pay),
357                Some(zip),
358            ) = (
359                self.acss_debit.take(),
360                self.affirm.take(),
361                self.afterpay_clearpay.take(),
362                self.alipay.take(),
363                self.alma.take(),
364                self.amazon_pay.take(),
365                self.au_becs_debit.take(),
366                self.bacs_debit.take(),
367                self.bancontact.take(),
368                self.billie.take(),
369                self.bizum,
370                self.blik.take(),
371                self.boleto.take(),
372                self.card.take(),
373                self.card_present.take(),
374                self.cashapp.take(),
375                self.crypto.take(),
376                self.customer_balance.take(),
377                self.eps.take(),
378                self.fpx.take(),
379                self.giropay.take(),
380                self.grabpay.take(),
381                self.ideal.take(),
382                self.interac_present,
383                self.kakao_pay.take(),
384                self.klarna.take(),
385                self.konbini.take(),
386                self.kr_card.take(),
387                self.link.take(),
388                self.mb_way.take(),
389                self.mobilepay.take(),
390                self.multibanco.take(),
391                self.naver_pay.take(),
392                self.nz_bank_account.take(),
393                self.oxxo.take(),
394                self.p24.take(),
395                self.pay_by_bank,
396                self.payco.take(),
397                self.paynow.take(),
398                self.paypal.take(),
399                self.payto.take(),
400                self.pix.take(),
401                self.promptpay.take(),
402                self.revolut_pay.take(),
403                self.samsung_pay.take(),
404                self.satispay.take(),
405                self.scalapay.take(),
406                self.sepa_debit.take(),
407                self.sofort.take(),
408                self.sunbit.take(),
409                self.swish.take(),
410                self.twint.take(),
411                self.upi.take(),
412                self.us_bank_account.take(),
413                self.wechat_pay.take(),
414                self.zip.take(),
415            )
416            else {
417                return None;
418            };
419            Some(Self::Out {
420                acss_debit,
421                affirm,
422                afterpay_clearpay,
423                alipay,
424                alma,
425                amazon_pay,
426                au_becs_debit,
427                bacs_debit,
428                bancontact,
429                billie,
430                bizum,
431                blik,
432                boleto,
433                card,
434                card_present,
435                cashapp,
436                crypto,
437                customer_balance,
438                eps,
439                fpx,
440                giropay,
441                grabpay,
442                ideal,
443                interac_present,
444                kakao_pay,
445                klarna,
446                konbini,
447                kr_card,
448                link,
449                mb_way,
450                mobilepay,
451                multibanco,
452                naver_pay,
453                nz_bank_account,
454                oxxo,
455                p24,
456                pay_by_bank,
457                payco,
458                paynow,
459                paypal,
460                payto,
461                pix,
462                promptpay,
463                revolut_pay,
464                samsung_pay,
465                satispay,
466                scalapay,
467                sepa_debit,
468                sofort,
469                sunbit,
470                swish,
471                twint,
472                upi,
473                us_bank_account,
474                wechat_pay,
475                zip,
476            })
477        }
478    }
479
480    impl Map for Builder<'_> {
481        fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
482            self.builder.key(k)
483        }
484
485        fn finish(&mut self) -> Result<()> {
486            *self.out = self.builder.take_out();
487            Ok(())
488        }
489    }
490
491    impl ObjectDeser for PaymentIntentPaymentMethodOptions {
492        type Builder = PaymentIntentPaymentMethodOptionsBuilder;
493    }
494
495    impl FromValueOpt for PaymentIntentPaymentMethodOptions {
496        fn from_value(v: Value) -> Option<Self> {
497            let Value::Object(obj) = v else {
498                return None;
499            };
500            let mut b = PaymentIntentPaymentMethodOptionsBuilder::deser_default();
501            for (k, v) in obj {
502                match k.as_str() {
503                    "acss_debit" => b.acss_debit = FromValueOpt::from_value(v),
504                    "affirm" => b.affirm = FromValueOpt::from_value(v),
505                    "afterpay_clearpay" => b.afterpay_clearpay = FromValueOpt::from_value(v),
506                    "alipay" => b.alipay = FromValueOpt::from_value(v),
507                    "alma" => b.alma = FromValueOpt::from_value(v),
508                    "amazon_pay" => b.amazon_pay = FromValueOpt::from_value(v),
509                    "au_becs_debit" => b.au_becs_debit = FromValueOpt::from_value(v),
510                    "bacs_debit" => b.bacs_debit = FromValueOpt::from_value(v),
511                    "bancontact" => b.bancontact = FromValueOpt::from_value(v),
512                    "billie" => b.billie = FromValueOpt::from_value(v),
513                    "bizum" => b.bizum = FromValueOpt::from_value(v),
514                    "blik" => b.blik = FromValueOpt::from_value(v),
515                    "boleto" => b.boleto = FromValueOpt::from_value(v),
516                    "card" => b.card = FromValueOpt::from_value(v),
517                    "card_present" => b.card_present = FromValueOpt::from_value(v),
518                    "cashapp" => b.cashapp = FromValueOpt::from_value(v),
519                    "crypto" => b.crypto = FromValueOpt::from_value(v),
520                    "customer_balance" => b.customer_balance = FromValueOpt::from_value(v),
521                    "eps" => b.eps = FromValueOpt::from_value(v),
522                    "fpx" => b.fpx = FromValueOpt::from_value(v),
523                    "giropay" => b.giropay = FromValueOpt::from_value(v),
524                    "grabpay" => b.grabpay = FromValueOpt::from_value(v),
525                    "ideal" => b.ideal = FromValueOpt::from_value(v),
526                    "interac_present" => b.interac_present = FromValueOpt::from_value(v),
527                    "kakao_pay" => b.kakao_pay = FromValueOpt::from_value(v),
528                    "klarna" => b.klarna = FromValueOpt::from_value(v),
529                    "konbini" => b.konbini = FromValueOpt::from_value(v),
530                    "kr_card" => b.kr_card = FromValueOpt::from_value(v),
531                    "link" => b.link = FromValueOpt::from_value(v),
532                    "mb_way" => b.mb_way = FromValueOpt::from_value(v),
533                    "mobilepay" => b.mobilepay = FromValueOpt::from_value(v),
534                    "multibanco" => b.multibanco = FromValueOpt::from_value(v),
535                    "naver_pay" => b.naver_pay = FromValueOpt::from_value(v),
536                    "nz_bank_account" => b.nz_bank_account = FromValueOpt::from_value(v),
537                    "oxxo" => b.oxxo = FromValueOpt::from_value(v),
538                    "p24" => b.p24 = FromValueOpt::from_value(v),
539                    "pay_by_bank" => b.pay_by_bank = FromValueOpt::from_value(v),
540                    "payco" => b.payco = FromValueOpt::from_value(v),
541                    "paynow" => b.paynow = FromValueOpt::from_value(v),
542                    "paypal" => b.paypal = FromValueOpt::from_value(v),
543                    "payto" => b.payto = FromValueOpt::from_value(v),
544                    "pix" => b.pix = FromValueOpt::from_value(v),
545                    "promptpay" => b.promptpay = FromValueOpt::from_value(v),
546                    "revolut_pay" => b.revolut_pay = FromValueOpt::from_value(v),
547                    "samsung_pay" => b.samsung_pay = FromValueOpt::from_value(v),
548                    "satispay" => b.satispay = FromValueOpt::from_value(v),
549                    "scalapay" => b.scalapay = FromValueOpt::from_value(v),
550                    "sepa_debit" => b.sepa_debit = FromValueOpt::from_value(v),
551                    "sofort" => b.sofort = FromValueOpt::from_value(v),
552                    "sunbit" => b.sunbit = FromValueOpt::from_value(v),
553                    "swish" => b.swish = FromValueOpt::from_value(v),
554                    "twint" => b.twint = FromValueOpt::from_value(v),
555                    "upi" => b.upi = FromValueOpt::from_value(v),
556                    "us_bank_account" => b.us_bank_account = FromValueOpt::from_value(v),
557                    "wechat_pay" => b.wechat_pay = FromValueOpt::from_value(v),
558                    "zip" => b.zip = FromValueOpt::from_value(v),
559                    _ => {}
560                }
561            }
562            b.take_out()
563        }
564    }
565};