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