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
214                _ => <dyn Visitor>::ignore(),
215            })
216        }
217
218        fn deser_default() -> Self {
219            Self {
220                acss_debit: Deserialize::default(),
221                affirm: Deserialize::default(),
222                afterpay_clearpay: Deserialize::default(),
223                alipay: Deserialize::default(),
224                alma: Deserialize::default(),
225                amazon_pay: Deserialize::default(),
226                au_becs_debit: Deserialize::default(),
227                bacs_debit: Deserialize::default(),
228                bancontact: Deserialize::default(),
229                billie: Deserialize::default(),
230                blik: Deserialize::default(),
231                boleto: Deserialize::default(),
232                card: Deserialize::default(),
233                card_present: Deserialize::default(),
234                cashapp: Deserialize::default(),
235                crypto: Deserialize::default(),
236                customer_balance: Deserialize::default(),
237                eps: Deserialize::default(),
238                fpx: Deserialize::default(),
239                giropay: Deserialize::default(),
240                grabpay: Deserialize::default(),
241                ideal: Deserialize::default(),
242                interac_present: Deserialize::default(),
243                kakao_pay: Deserialize::default(),
244                klarna: Deserialize::default(),
245                konbini: Deserialize::default(),
246                kr_card: Deserialize::default(),
247                link: Deserialize::default(),
248                mb_way: Deserialize::default(),
249                mobilepay: Deserialize::default(),
250                multibanco: Deserialize::default(),
251                naver_pay: Deserialize::default(),
252                nz_bank_account: Deserialize::default(),
253                oxxo: Deserialize::default(),
254                p24: Deserialize::default(),
255                pay_by_bank: Deserialize::default(),
256                payco: Deserialize::default(),
257                paynow: Deserialize::default(),
258                paypal: Deserialize::default(),
259                pix: Deserialize::default(),
260                promptpay: Deserialize::default(),
261                revolut_pay: Deserialize::default(),
262                samsung_pay: Deserialize::default(),
263                satispay: Deserialize::default(),
264                sepa_debit: Deserialize::default(),
265                sofort: Deserialize::default(),
266                swish: Deserialize::default(),
267                twint: Deserialize::default(),
268                us_bank_account: Deserialize::default(),
269                wechat_pay: Deserialize::default(),
270                zip: Deserialize::default(),
271            }
272        }
273
274        fn take_out(&mut self) -> Option<Self::Out> {
275            let (
276                Some(acss_debit),
277                Some(affirm),
278                Some(afterpay_clearpay),
279                Some(alipay),
280                Some(alma),
281                Some(amazon_pay),
282                Some(au_becs_debit),
283                Some(bacs_debit),
284                Some(bancontact),
285                Some(billie),
286                Some(blik),
287                Some(boleto),
288                Some(card),
289                Some(card_present),
290                Some(cashapp),
291                Some(crypto),
292                Some(customer_balance),
293                Some(eps),
294                Some(fpx),
295                Some(giropay),
296                Some(grabpay),
297                Some(ideal),
298                Some(interac_present),
299                Some(kakao_pay),
300                Some(klarna),
301                Some(konbini),
302                Some(kr_card),
303                Some(link),
304                Some(mb_way),
305                Some(mobilepay),
306                Some(multibanco),
307                Some(naver_pay),
308                Some(nz_bank_account),
309                Some(oxxo),
310                Some(p24),
311                Some(pay_by_bank),
312                Some(payco),
313                Some(paynow),
314                Some(paypal),
315                Some(pix),
316                Some(promptpay),
317                Some(revolut_pay),
318                Some(samsung_pay),
319                Some(satispay),
320                Some(sepa_debit),
321                Some(sofort),
322                Some(swish),
323                Some(twint),
324                Some(us_bank_account),
325                Some(wechat_pay),
326                Some(zip),
327            ) = (
328                self.acss_debit.take(),
329                self.affirm.take(),
330                self.afterpay_clearpay.take(),
331                self.alipay,
332                self.alma,
333                self.amazon_pay,
334                self.au_becs_debit.take(),
335                self.bacs_debit.take(),
336                self.bancontact,
337                self.billie,
338                self.blik,
339                self.boleto,
340                self.card.take(),
341                self.card_present,
342                self.cashapp,
343                self.crypto,
344                self.customer_balance.take(),
345                self.eps,
346                self.fpx,
347                self.giropay,
348                self.grabpay,
349                self.ideal,
350                self.interac_present,
351                self.kakao_pay,
352                self.klarna.take(),
353                self.konbini.take(),
354                self.kr_card,
355                self.link.take(),
356                self.mb_way,
357                self.mobilepay,
358                self.multibanco,
359                self.naver_pay,
360                self.nz_bank_account.take(),
361                self.oxxo,
362                self.p24,
363                self.pay_by_bank,
364                self.payco,
365                self.paynow,
366                self.paypal.take(),
367                self.pix,
368                self.promptpay,
369                self.revolut_pay,
370                self.samsung_pay,
371                self.satispay,
372                self.sepa_debit.take(),
373                self.sofort,
374                self.swish.take(),
375                self.twint,
376                self.us_bank_account.take(),
377                self.wechat_pay.take(),
378                self.zip,
379            )
380            else {
381                return None;
382            };
383            Some(Self::Out {
384                acss_debit,
385                affirm,
386                afterpay_clearpay,
387                alipay,
388                alma,
389                amazon_pay,
390                au_becs_debit,
391                bacs_debit,
392                bancontact,
393                billie,
394                blik,
395                boleto,
396                card,
397                card_present,
398                cashapp,
399                crypto,
400                customer_balance,
401                eps,
402                fpx,
403                giropay,
404                grabpay,
405                ideal,
406                interac_present,
407                kakao_pay,
408                klarna,
409                konbini,
410                kr_card,
411                link,
412                mb_way,
413                mobilepay,
414                multibanco,
415                naver_pay,
416                nz_bank_account,
417                oxxo,
418                p24,
419                pay_by_bank,
420                payco,
421                paynow,
422                paypal,
423                pix,
424                promptpay,
425                revolut_pay,
426                samsung_pay,
427                satispay,
428                sepa_debit,
429                sofort,
430                swish,
431                twint,
432                us_bank_account,
433                wechat_pay,
434                zip,
435            })
436        }
437    }
438
439    impl Map for Builder<'_> {
440        fn key(&mut self, k: &str) -> Result<&mut dyn Visitor> {
441            self.builder.key(k)
442        }
443
444        fn finish(&mut self) -> Result<()> {
445            *self.out = self.builder.take_out();
446            Ok(())
447        }
448    }
449
450    impl ObjectDeser for PaymentIntentPaymentMethodOptions {
451        type Builder = PaymentIntentPaymentMethodOptionsBuilder;
452    }
453
454    impl FromValueOpt for PaymentIntentPaymentMethodOptions {
455        fn from_value(v: Value) -> Option<Self> {
456            let Value::Object(obj) = v else {
457                return None;
458            };
459            let mut b = PaymentIntentPaymentMethodOptionsBuilder::deser_default();
460            for (k, v) in obj {
461                match k.as_str() {
462                    "acss_debit" => b.acss_debit = FromValueOpt::from_value(v),
463                    "affirm" => b.affirm = FromValueOpt::from_value(v),
464                    "afterpay_clearpay" => b.afterpay_clearpay = FromValueOpt::from_value(v),
465                    "alipay" => b.alipay = FromValueOpt::from_value(v),
466                    "alma" => b.alma = FromValueOpt::from_value(v),
467                    "amazon_pay" => b.amazon_pay = FromValueOpt::from_value(v),
468                    "au_becs_debit" => b.au_becs_debit = FromValueOpt::from_value(v),
469                    "bacs_debit" => b.bacs_debit = FromValueOpt::from_value(v),
470                    "bancontact" => b.bancontact = FromValueOpt::from_value(v),
471                    "billie" => b.billie = FromValueOpt::from_value(v),
472                    "blik" => b.blik = FromValueOpt::from_value(v),
473                    "boleto" => b.boleto = FromValueOpt::from_value(v),
474                    "card" => b.card = FromValueOpt::from_value(v),
475                    "card_present" => b.card_present = FromValueOpt::from_value(v),
476                    "cashapp" => b.cashapp = FromValueOpt::from_value(v),
477                    "crypto" => b.crypto = FromValueOpt::from_value(v),
478                    "customer_balance" => b.customer_balance = FromValueOpt::from_value(v),
479                    "eps" => b.eps = FromValueOpt::from_value(v),
480                    "fpx" => b.fpx = FromValueOpt::from_value(v),
481                    "giropay" => b.giropay = FromValueOpt::from_value(v),
482                    "grabpay" => b.grabpay = FromValueOpt::from_value(v),
483                    "ideal" => b.ideal = FromValueOpt::from_value(v),
484                    "interac_present" => b.interac_present = FromValueOpt::from_value(v),
485                    "kakao_pay" => b.kakao_pay = FromValueOpt::from_value(v),
486                    "klarna" => b.klarna = FromValueOpt::from_value(v),
487                    "konbini" => b.konbini = FromValueOpt::from_value(v),
488                    "kr_card" => b.kr_card = FromValueOpt::from_value(v),
489                    "link" => b.link = FromValueOpt::from_value(v),
490                    "mb_way" => b.mb_way = FromValueOpt::from_value(v),
491                    "mobilepay" => b.mobilepay = FromValueOpt::from_value(v),
492                    "multibanco" => b.multibanco = FromValueOpt::from_value(v),
493                    "naver_pay" => b.naver_pay = FromValueOpt::from_value(v),
494                    "nz_bank_account" => b.nz_bank_account = FromValueOpt::from_value(v),
495                    "oxxo" => b.oxxo = FromValueOpt::from_value(v),
496                    "p24" => b.p24 = FromValueOpt::from_value(v),
497                    "pay_by_bank" => b.pay_by_bank = FromValueOpt::from_value(v),
498                    "payco" => b.payco = FromValueOpt::from_value(v),
499                    "paynow" => b.paynow = FromValueOpt::from_value(v),
500                    "paypal" => b.paypal = FromValueOpt::from_value(v),
501                    "pix" => b.pix = FromValueOpt::from_value(v),
502                    "promptpay" => b.promptpay = FromValueOpt::from_value(v),
503                    "revolut_pay" => b.revolut_pay = FromValueOpt::from_value(v),
504                    "samsung_pay" => b.samsung_pay = FromValueOpt::from_value(v),
505                    "satispay" => b.satispay = FromValueOpt::from_value(v),
506                    "sepa_debit" => b.sepa_debit = FromValueOpt::from_value(v),
507                    "sofort" => b.sofort = FromValueOpt::from_value(v),
508                    "swish" => b.swish = FromValueOpt::from_value(v),
509                    "twint" => b.twint = FromValueOpt::from_value(v),
510                    "us_bank_account" => b.us_bank_account = FromValueOpt::from_value(v),
511                    "wechat_pay" => b.wechat_pay = FromValueOpt::from_value(v),
512                    "zip" => b.zip = FromValueOpt::from_value(v),
513
514                    _ => {}
515                }
516            }
517            b.take_out()
518        }
519    }
520};