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