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