stripe_shared/
payment_intent_payment_method_options.rs

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