• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stripe / stripe-java / #16599

29 Oct 2024 11:04PM UTC coverage: 12.519% (-0.1%) from 12.62%
#16599

push

github

web-flow
Merge pull request #1914 from stripe/latest-codegen-beta

Update generated code for beta

40 of 1580 new or added lines in 51 files covered. (2.53%)

19 existing lines in 15 files now uncovered.

18843 of 150513 relevant lines covered (12.52%)

0.13 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

49.78
/src/main/java/com/stripe/model/PaymentMethod.java
1
// File generated from our OpenAPI spec
2
package com.stripe.model;
3

4
import com.google.gson.annotations.SerializedName;
5
import com.stripe.exception.StripeException;
6
import com.stripe.net.ApiRequest;
7
import com.stripe.net.ApiRequestParams;
8
import com.stripe.net.ApiResource;
9
import com.stripe.net.BaseAddress;
10
import com.stripe.net.RequestOptions;
11
import com.stripe.net.StripeResponseGetter;
12
import com.stripe.param.PaymentMethodAttachParams;
13
import com.stripe.param.PaymentMethodCreateParams;
14
import com.stripe.param.PaymentMethodDetachParams;
15
import com.stripe.param.PaymentMethodListParams;
16
import com.stripe.param.PaymentMethodRetrieveParams;
17
import com.stripe.param.PaymentMethodUpdateParams;
18
import java.util.List;
19
import java.util.Map;
20
import lombok.EqualsAndHashCode;
21
import lombok.Getter;
22
import lombok.Setter;
23

24
/**
25
 * PaymentMethod objects represent your customer's payment instruments. You can use them with <a
26
 * href="https://stripe.com/docs/payments/payment-intents">PaymentIntents</a> to collect payments or
27
 * save them to Customer objects to store instrument details for future payments.
28
 *
29
 * <p>Related guides: <a href="https://stripe.com/docs/payments/payment-methods">Payment Methods</a>
30
 * and <a href="https://stripe.com/docs/payments/more-payment-scenarios">More Payment Scenarios</a>.
31
 */
32
@Getter
33
@Setter
34
@EqualsAndHashCode(callSuper = false)
35
public class PaymentMethod extends ApiResource implements HasId, MetadataStore<PaymentMethod> {
1✔
36
  @SerializedName("acss_debit")
37
  AcssDebit acssDebit;
38

39
  @SerializedName("affirm")
40
  Affirm affirm;
41

42
  @SerializedName("afterpay_clearpay")
43
  AfterpayClearpay afterpayClearpay;
44

45
  @SerializedName("alipay")
46
  Alipay alipay;
47

48
  /**
49
   * This field indicates whether this payment method can be shown again to its customer in a
50
   * checkout flow. Stripe products such as Checkout and Elements use this field to determine
51
   * whether a payment method can be shown as a saved payment method in a checkout flow. The field
52
   * defaults to “unspecified”.
53
   *
54
   * <p>One of {@code always}, {@code limited}, or {@code unspecified}.
55
   */
56
  @SerializedName("allow_redisplay")
57
  String allowRedisplay;
58

59
  @SerializedName("alma")
60
  Alma alma;
61

62
  @SerializedName("amazon_pay")
63
  AmazonPay amazonPay;
64

65
  @SerializedName("au_becs_debit")
66
  AuBecsDebit auBecsDebit;
67

68
  @SerializedName("bacs_debit")
69
  BacsDebit bacsDebit;
70

71
  @SerializedName("bancontact")
72
  Bancontact bancontact;
73

74
  @SerializedName("billing_details")
75
  BillingDetails billingDetails;
76

77
  @SerializedName("blik")
78
  Blik blik;
79

80
  @SerializedName("boleto")
81
  Boleto boleto;
82

83
  @SerializedName("card")
84
  Card card;
85

86
  @SerializedName("card_present")
87
  CardPresent cardPresent;
88

89
  @SerializedName("cashapp")
90
  Cashapp cashapp;
91

92
  /** Time at which the object was created. Measured in seconds since the Unix epoch. */
93
  @SerializedName("created")
94
  Long created;
95

96
  /**
97
   * The ID of the Customer to which this PaymentMethod is saved. This will not be set when the
98
   * PaymentMethod has not been saved to a Customer.
99
   */
100
  @SerializedName("customer")
101
  @Getter(lombok.AccessLevel.NONE)
102
  @Setter(lombok.AccessLevel.NONE)
103
  ExpandableField<Customer> customer;
104

105
  @SerializedName("customer_balance")
106
  CustomerBalance customerBalance;
107

108
  @SerializedName("eps")
109
  Eps eps;
110

111
  @SerializedName("fpx")
112
  Fpx fpx;
113

114
  @SerializedName("giropay")
115
  Giropay giropay;
116

117
  @SerializedName("gopay")
118
  Gopay gopay;
119

120
  @SerializedName("grabpay")
121
  Grabpay grabpay;
122

123
  /** Unique identifier for the object. */
124
  @Getter(onMethod_ = {@Override})
125
  @SerializedName("id")
126
  String id;
127

128
  @SerializedName("id_bank_transfer")
129
  IdBankTransfer idBankTransfer;
130

131
  @SerializedName("ideal")
132
  Ideal ideal;
133

134
  @SerializedName("interac_present")
135
  InteracPresent interacPresent;
136

137
  @SerializedName("kakao_pay")
138
  KakaoPay kakaoPay;
139

140
  @SerializedName("klarna")
141
  Klarna klarna;
142

143
  @SerializedName("konbini")
144
  Konbini konbini;
145

146
  @SerializedName("kr_card")
147
  KrCard krCard;
148

149
  @SerializedName("link")
150
  Link link;
151

152
  /**
153
   * Has the value {@code true} if the object exists in live mode or the value {@code false} if the
154
   * object exists in test mode.
155
   */
156
  @SerializedName("livemode")
157
  Boolean livemode;
158

159
  @SerializedName("mb_way")
160
  MbWay mbWay;
161

162
  /**
163
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
164
   * to an object. This can be useful for storing additional information about the object in a
165
   * structured format.
166
   */
167
  @Getter(onMethod_ = {@Override})
168
  @SerializedName("metadata")
169
  Map<String, String> metadata;
170

171
  @SerializedName("mobilepay")
172
  Mobilepay mobilepay;
173

174
  @SerializedName("multibanco")
175
  Multibanco multibanco;
176

177
  @SerializedName("naver_pay")
178
  NaverPay naverPay;
179

180
  /**
181
   * String representing the object's type. Objects of the same type share the same value.
182
   *
183
   * <p>Equal to {@code payment_method}.
184
   */
185
  @SerializedName("object")
186
  String object;
187

188
  @SerializedName("oxxo")
189
  Oxxo oxxo;
190

191
  @SerializedName("p24")
192
  P24 p24;
193

194
  @SerializedName("payco")
195
  Payco payco;
196

197
  @SerializedName("paynow")
198
  Paynow paynow;
199

200
  @SerializedName("paypal")
201
  Paypal paypal;
202

203
  @SerializedName("payto")
204
  Payto payto;
205

206
  @SerializedName("pix")
207
  Pix pix;
208

209
  @SerializedName("promptpay")
210
  Promptpay promptpay;
211

212
  @SerializedName("qris")
213
  Qris qris;
214

215
  /**
216
   * Options to configure Radar. See <a href="https://stripe.com/docs/radar/radar-session">Radar
217
   * Session</a> for more information.
218
   */
219
  @SerializedName("radar_options")
220
  RadarOptions radarOptions;
221

222
  @SerializedName("rechnung")
223
  Rechnung rechnung;
224

225
  @SerializedName("revolut_pay")
226
  RevolutPay revolutPay;
227

228
  @SerializedName("samsung_pay")
229
  SamsungPay samsungPay;
230

231
  @SerializedName("sepa_debit")
232
  SepaDebit sepaDebit;
233

234
  @SerializedName("shopeepay")
235
  Shopeepay shopeepay;
236

237
  @SerializedName("sofort")
238
  Sofort sofort;
239

240
  @SerializedName("swish")
241
  Swish swish;
242

243
  @SerializedName("twint")
244
  Twint twint;
245

246
  /**
247
   * The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name
248
   * matching this value. It contains additional information specific to the PaymentMethod type.
249
   *
250
   * <p>One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay}, {@code
251
   * alma}, {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code bancontact},
252
   * {@code blik}, {@code boleto}, {@code card}, {@code card_present}, {@code cashapp}, {@code
253
   * customer_balance}, {@code eps}, {@code fpx}, {@code giropay}, {@code gopay}, {@code grabpay},
254
   * {@code id_bank_transfer}, {@code ideal}, {@code interac_present}, {@code kakao_pay}, {@code
255
   * klarna}, {@code konbini}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay},
256
   * {@code multibanco}, {@code naver_pay}, {@code oxxo}, {@code p24}, {@code payco}, {@code
257
   * paynow}, {@code paypal}, {@code payto}, {@code pix}, {@code promptpay}, {@code qris}, {@code
258
   * rechnung}, {@code revolut_pay}, {@code samsung_pay}, {@code sepa_debit}, {@code shopeepay},
259
   * {@code sofort}, {@code swish}, {@code twint}, {@code us_bank_account}, {@code wechat_pay}, or
260
   * {@code zip}.
261
   */
262
  @SerializedName("type")
263
  String type;
264

265
  @SerializedName("us_bank_account")
266
  UsBankAccount usBankAccount;
267

268
  @SerializedName("wechat_pay")
269
  WechatPay wechatPay;
270

271
  @SerializedName("zip")
272
  Zip zip;
273

274
  /** Get ID of expandable {@code customer} object. */
275
  public String getCustomer() {
276
    return (this.customer != null) ? this.customer.getId() : null;
×
277
  }
278

279
  public void setCustomer(String id) {
280
    this.customer = ApiResource.setExpandableFieldId(id, this.customer);
×
281
  }
×
282

283
  /** Get expanded {@code customer}. */
284
  public Customer getCustomerObject() {
285
    return (this.customer != null) ? this.customer.getExpanded() : null;
×
286
  }
287

288
  public void setCustomerObject(Customer expandableObject) {
289
    this.customer = new ExpandableField<Customer>(expandableObject.getId(), expandableObject);
×
290
  }
×
291

292
  /**
293
   * Attaches a PaymentMethod object to a Customer.
294
   *
295
   * <p>To attach a new PaymentMethod to a customer for future payments, we recommend you use a <a
296
   * href="https://stripe.com/docs/api/setup_intents">SetupIntent</a> or a PaymentIntent with <a
297
   * href="https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage">setup_future_usage</a>.
298
   * These approaches will perform any necessary steps to set up the PaymentMethod for future
299
   * payments. Using the {@code /v1/payment_methods/:id/attach} endpoint without first using a
300
   * SetupIntent or PaymentIntent with {@code setup_future_usage} does not optimize the
301
   * PaymentMethod for future use, which makes later declines and payment friction more likely. See
302
   * <a href="https://stripe.com/docs/payments/payment-intents#future-usage">Optimizing cards for
303
   * future payments</a> for more information about setting up future payments.
304
   *
305
   * <p>To use this PaymentMethod as the default for invoice or subscription payments, set <a
306
   * href="https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method">{@code
307
   * invoice_settings.default_payment_method}</a>, on the Customer to the PaymentMethod’s ID.
308
   */
309
  public PaymentMethod attach(Map<String, Object> params) throws StripeException {
310
    return attach(params, (RequestOptions) null);
1✔
311
  }
312

313
  /**
314
   * Attaches a PaymentMethod object to a Customer.
315
   *
316
   * <p>To attach a new PaymentMethod to a customer for future payments, we recommend you use a <a
317
   * href="https://stripe.com/docs/api/setup_intents">SetupIntent</a> or a PaymentIntent with <a
318
   * href="https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage">setup_future_usage</a>.
319
   * These approaches will perform any necessary steps to set up the PaymentMethod for future
320
   * payments. Using the {@code /v1/payment_methods/:id/attach} endpoint without first using a
321
   * SetupIntent or PaymentIntent with {@code setup_future_usage} does not optimize the
322
   * PaymentMethod for future use, which makes later declines and payment friction more likely. See
323
   * <a href="https://stripe.com/docs/payments/payment-intents#future-usage">Optimizing cards for
324
   * future payments</a> for more information about setting up future payments.
325
   *
326
   * <p>To use this PaymentMethod as the default for invoice or subscription payments, set <a
327
   * href="https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method">{@code
328
   * invoice_settings.default_payment_method}</a>, on the Customer to the PaymentMethod’s ID.
329
   */
330
  public PaymentMethod attach(Map<String, Object> params, RequestOptions options)
331
      throws StripeException {
332
    String path =
1✔
333
        String.format("/v1/payment_methods/%s/attach", ApiResource.urlEncodeId(this.getId()));
1✔
334
    ApiRequest request =
1✔
335
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
336
    return getResponseGetter().request(request, PaymentMethod.class);
1✔
337
  }
338

339
  /**
340
   * Attaches a PaymentMethod object to a Customer.
341
   *
342
   * <p>To attach a new PaymentMethod to a customer for future payments, we recommend you use a <a
343
   * href="https://stripe.com/docs/api/setup_intents">SetupIntent</a> or a PaymentIntent with <a
344
   * href="https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage">setup_future_usage</a>.
345
   * These approaches will perform any necessary steps to set up the PaymentMethod for future
346
   * payments. Using the {@code /v1/payment_methods/:id/attach} endpoint without first using a
347
   * SetupIntent or PaymentIntent with {@code setup_future_usage} does not optimize the
348
   * PaymentMethod for future use, which makes later declines and payment friction more likely. See
349
   * <a href="https://stripe.com/docs/payments/payment-intents#future-usage">Optimizing cards for
350
   * future payments</a> for more information about setting up future payments.
351
   *
352
   * <p>To use this PaymentMethod as the default for invoice or subscription payments, set <a
353
   * href="https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method">{@code
354
   * invoice_settings.default_payment_method}</a>, on the Customer to the PaymentMethod’s ID.
355
   */
356
  public PaymentMethod attach(PaymentMethodAttachParams params) throws StripeException {
357
    return attach(params, (RequestOptions) null);
1✔
358
  }
359

360
  /**
361
   * Attaches a PaymentMethod object to a Customer.
362
   *
363
   * <p>To attach a new PaymentMethod to a customer for future payments, we recommend you use a <a
364
   * href="https://stripe.com/docs/api/setup_intents">SetupIntent</a> or a PaymentIntent with <a
365
   * href="https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage">setup_future_usage</a>.
366
   * These approaches will perform any necessary steps to set up the PaymentMethod for future
367
   * payments. Using the {@code /v1/payment_methods/:id/attach} endpoint without first using a
368
   * SetupIntent or PaymentIntent with {@code setup_future_usage} does not optimize the
369
   * PaymentMethod for future use, which makes later declines and payment friction more likely. See
370
   * <a href="https://stripe.com/docs/payments/payment-intents#future-usage">Optimizing cards for
371
   * future payments</a> for more information about setting up future payments.
372
   *
373
   * <p>To use this PaymentMethod as the default for invoice or subscription payments, set <a
374
   * href="https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method">{@code
375
   * invoice_settings.default_payment_method}</a>, on the Customer to the PaymentMethod’s ID.
376
   */
377
  public PaymentMethod attach(PaymentMethodAttachParams params, RequestOptions options)
378
      throws StripeException {
379
    String path =
1✔
380
        String.format("/v1/payment_methods/%s/attach", ApiResource.urlEncodeId(this.getId()));
1✔
381
    ApiResource.checkNullTypedParams(path, params);
1✔
382
    ApiRequest request =
1✔
383
        new ApiRequest(
384
            BaseAddress.API,
385
            ApiResource.RequestMethod.POST,
386
            path,
387
            ApiRequestParams.paramsToMap(params),
1✔
388
            options);
389
    return getResponseGetter().request(request, PaymentMethod.class);
1✔
390
  }
391

392
  /**
393
   * Creates a PaymentMethod object. Read the <a
394
   * href="https://stripe.com/docs/stripe-js/reference#stripe-create-payment-method">Stripe.js
395
   * reference</a> to learn how to create PaymentMethods via Stripe.js.
396
   *
397
   * <p>Instead of creating a PaymentMethod directly, we recommend using the <a
398
   * href="https://stripe.com/docs/payments/accept-a-payment">PaymentIntents</a> API to accept a
399
   * payment immediately or the <a
400
   * href="https://stripe.com/docs/payments/save-and-reuse">SetupIntent</a> API to collect payment
401
   * method details ahead of a future payment.
402
   */
403
  public static PaymentMethod create(Map<String, Object> params) throws StripeException {
404
    return create(params, (RequestOptions) null);
1✔
405
  }
406

407
  /**
408
   * Creates a PaymentMethod object. Read the <a
409
   * href="https://stripe.com/docs/stripe-js/reference#stripe-create-payment-method">Stripe.js
410
   * reference</a> to learn how to create PaymentMethods via Stripe.js.
411
   *
412
   * <p>Instead of creating a PaymentMethod directly, we recommend using the <a
413
   * href="https://stripe.com/docs/payments/accept-a-payment">PaymentIntents</a> API to accept a
414
   * payment immediately or the <a
415
   * href="https://stripe.com/docs/payments/save-and-reuse">SetupIntent</a> API to collect payment
416
   * method details ahead of a future payment.
417
   */
418
  public static PaymentMethod create(Map<String, Object> params, RequestOptions options)
419
      throws StripeException {
420
    String path = "/v1/payment_methods";
1✔
421
    ApiRequest request =
1✔
422
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
423
    return getGlobalResponseGetter().request(request, PaymentMethod.class);
1✔
424
  }
425

426
  /**
427
   * Creates a PaymentMethod object. Read the <a
428
   * href="https://stripe.com/docs/stripe-js/reference#stripe-create-payment-method">Stripe.js
429
   * reference</a> to learn how to create PaymentMethods via Stripe.js.
430
   *
431
   * <p>Instead of creating a PaymentMethod directly, we recommend using the <a
432
   * href="https://stripe.com/docs/payments/accept-a-payment">PaymentIntents</a> API to accept a
433
   * payment immediately or the <a
434
   * href="https://stripe.com/docs/payments/save-and-reuse">SetupIntent</a> API to collect payment
435
   * method details ahead of a future payment.
436
   */
437
  public static PaymentMethod create(PaymentMethodCreateParams params) throws StripeException {
438
    return create(params, (RequestOptions) null);
×
439
  }
440

441
  /**
442
   * Creates a PaymentMethod object. Read the <a
443
   * href="https://stripe.com/docs/stripe-js/reference#stripe-create-payment-method">Stripe.js
444
   * reference</a> to learn how to create PaymentMethods via Stripe.js.
445
   *
446
   * <p>Instead of creating a PaymentMethod directly, we recommend using the <a
447
   * href="https://stripe.com/docs/payments/accept-a-payment">PaymentIntents</a> API to accept a
448
   * payment immediately or the <a
449
   * href="https://stripe.com/docs/payments/save-and-reuse">SetupIntent</a> API to collect payment
450
   * method details ahead of a future payment.
451
   */
452
  public static PaymentMethod create(PaymentMethodCreateParams params, RequestOptions options)
453
      throws StripeException {
454
    String path = "/v1/payment_methods";
×
455
    ApiResource.checkNullTypedParams(path, params);
×
456
    ApiRequest request =
×
457
        new ApiRequest(
458
            BaseAddress.API,
459
            ApiResource.RequestMethod.POST,
460
            path,
461
            ApiRequestParams.paramsToMap(params),
×
462
            options);
463
    return getGlobalResponseGetter().request(request, PaymentMethod.class);
×
464
  }
465

466
  /**
467
   * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no
468
   * longer be used for a payment or re-attached to a Customer.
469
   */
470
  public PaymentMethod detach() throws StripeException {
471
    return detach((Map<String, Object>) null, (RequestOptions) null);
1✔
472
  }
473

474
  /**
475
   * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no
476
   * longer be used for a payment or re-attached to a Customer.
477
   */
478
  public PaymentMethod detach(RequestOptions options) throws StripeException {
479
    return detach((Map<String, Object>) null, options);
×
480
  }
481

482
  /**
483
   * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no
484
   * longer be used for a payment or re-attached to a Customer.
485
   */
486
  public PaymentMethod detach(Map<String, Object> params) throws StripeException {
487
    return detach(params, (RequestOptions) null);
×
488
  }
489

490
  /**
491
   * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no
492
   * longer be used for a payment or re-attached to a Customer.
493
   */
494
  public PaymentMethod detach(Map<String, Object> params, RequestOptions options)
495
      throws StripeException {
496
    String path =
1✔
497
        String.format("/v1/payment_methods/%s/detach", ApiResource.urlEncodeId(this.getId()));
1✔
498
    ApiRequest request =
1✔
499
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
500
    return getResponseGetter().request(request, PaymentMethod.class);
1✔
501
  }
502

503
  /**
504
   * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no
505
   * longer be used for a payment or re-attached to a Customer.
506
   */
507
  public PaymentMethod detach(PaymentMethodDetachParams params) throws StripeException {
508
    return detach(params, (RequestOptions) null);
1✔
509
  }
510

511
  /**
512
   * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no
513
   * longer be used for a payment or re-attached to a Customer.
514
   */
515
  public PaymentMethod detach(PaymentMethodDetachParams params, RequestOptions options)
516
      throws StripeException {
517
    String path =
1✔
518
        String.format("/v1/payment_methods/%s/detach", ApiResource.urlEncodeId(this.getId()));
1✔
519
    ApiResource.checkNullTypedParams(path, params);
1✔
520
    ApiRequest request =
1✔
521
        new ApiRequest(
522
            BaseAddress.API,
523
            ApiResource.RequestMethod.POST,
524
            path,
525
            ApiRequestParams.paramsToMap(params),
1✔
526
            options);
527
    return getResponseGetter().request(request, PaymentMethod.class);
1✔
528
  }
529

530
  /**
531
   * Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods
532
   * attached to a Customer for payments, you should use the <a
533
   * href="https://stripe.com/docs/api/payment_methods/customer_list">List a Customer’s
534
   * PaymentMethods</a> API instead.
535
   */
536
  public static PaymentMethodCollection list(Map<String, Object> params) throws StripeException {
537
    return list(params, (RequestOptions) null);
1✔
538
  }
539

540
  /**
541
   * Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods
542
   * attached to a Customer for payments, you should use the <a
543
   * href="https://stripe.com/docs/api/payment_methods/customer_list">List a Customer’s
544
   * PaymentMethods</a> API instead.
545
   */
546
  public static PaymentMethodCollection list(Map<String, Object> params, RequestOptions options)
547
      throws StripeException {
548
    String path = "/v1/payment_methods";
1✔
549
    ApiRequest request =
1✔
550
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
551
    return getGlobalResponseGetter().request(request, PaymentMethodCollection.class);
1✔
552
  }
553

554
  /**
555
   * Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods
556
   * attached to a Customer for payments, you should use the <a
557
   * href="https://stripe.com/docs/api/payment_methods/customer_list">List a Customer’s
558
   * PaymentMethods</a> API instead.
559
   */
560
  public static PaymentMethodCollection list(PaymentMethodListParams params)
561
      throws StripeException {
562
    return list(params, (RequestOptions) null);
1✔
563
  }
564

565
  /**
566
   * Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods
567
   * attached to a Customer for payments, you should use the <a
568
   * href="https://stripe.com/docs/api/payment_methods/customer_list">List a Customer’s
569
   * PaymentMethods</a> API instead.
570
   */
571
  public static PaymentMethodCollection list(PaymentMethodListParams params, RequestOptions options)
572
      throws StripeException {
573
    String path = "/v1/payment_methods";
1✔
574
    ApiResource.checkNullTypedParams(path, params);
1✔
575
    ApiRequest request =
1✔
576
        new ApiRequest(
577
            BaseAddress.API,
578
            ApiResource.RequestMethod.GET,
579
            path,
580
            ApiRequestParams.paramsToMap(params),
1✔
581
            options);
582
    return getGlobalResponseGetter().request(request, PaymentMethodCollection.class);
1✔
583
  }
584

585
  /**
586
   * Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method
587
   * attached to a Customer, you should use <a
588
   * href="https://stripe.com/docs/api/payment_methods/customer">Retrieve a Customer’s
589
   * PaymentMethods</a>
590
   */
591
  public static PaymentMethod retrieve(String paymentMethod) throws StripeException {
592
    return retrieve(paymentMethod, (Map<String, Object>) null, (RequestOptions) null);
1✔
593
  }
594

595
  /**
596
   * Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method
597
   * attached to a Customer, you should use <a
598
   * href="https://stripe.com/docs/api/payment_methods/customer">Retrieve a Customer’s
599
   * PaymentMethods</a>
600
   */
601
  public static PaymentMethod retrieve(String paymentMethod, RequestOptions options)
602
      throws StripeException {
603
    return retrieve(paymentMethod, (Map<String, Object>) null, options);
×
604
  }
605

606
  /**
607
   * Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method
608
   * attached to a Customer, you should use <a
609
   * href="https://stripe.com/docs/api/payment_methods/customer">Retrieve a Customer’s
610
   * PaymentMethods</a>
611
   */
612
  public static PaymentMethod retrieve(
613
      String paymentMethod, Map<String, Object> params, RequestOptions options)
614
      throws StripeException {
615
    String path = String.format("/v1/payment_methods/%s", ApiResource.urlEncodeId(paymentMethod));
1✔
616
    ApiRequest request =
1✔
617
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
618
    return getGlobalResponseGetter().request(request, PaymentMethod.class);
1✔
619
  }
620

621
  /**
622
   * Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method
623
   * attached to a Customer, you should use <a
624
   * href="https://stripe.com/docs/api/payment_methods/customer">Retrieve a Customer’s
625
   * PaymentMethods</a>
626
   */
627
  public static PaymentMethod retrieve(
628
      String paymentMethod, PaymentMethodRetrieveParams params, RequestOptions options)
629
      throws StripeException {
630
    String path = String.format("/v1/payment_methods/%s", ApiResource.urlEncodeId(paymentMethod));
×
631
    ApiResource.checkNullTypedParams(path, params);
×
632
    ApiRequest request =
×
633
        new ApiRequest(
634
            BaseAddress.API,
635
            ApiResource.RequestMethod.GET,
636
            path,
637
            ApiRequestParams.paramsToMap(params),
×
638
            options);
639
    return getGlobalResponseGetter().request(request, PaymentMethod.class);
×
640
  }
641

642
  /** Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated. */
643
  @Override
644
  public PaymentMethod update(Map<String, Object> params) throws StripeException {
645
    return update(params, (RequestOptions) null);
1✔
646
  }
647

648
  /** Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated. */
649
  @Override
650
  public PaymentMethod update(Map<String, Object> params, RequestOptions options)
651
      throws StripeException {
652
    String path = String.format("/v1/payment_methods/%s", ApiResource.urlEncodeId(this.getId()));
1✔
653
    ApiRequest request =
1✔
654
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
655
    return getResponseGetter().request(request, PaymentMethod.class);
1✔
656
  }
657

658
  /** Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated. */
659
  public PaymentMethod update(PaymentMethodUpdateParams params) throws StripeException {
660
    return update(params, (RequestOptions) null);
1✔
661
  }
662

663
  /** Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated. */
664
  public PaymentMethod update(PaymentMethodUpdateParams params, RequestOptions options)
665
      throws StripeException {
666
    String path = String.format("/v1/payment_methods/%s", ApiResource.urlEncodeId(this.getId()));
1✔
667
    ApiResource.checkNullTypedParams(path, params);
1✔
668
    ApiRequest request =
1✔
669
        new ApiRequest(
670
            BaseAddress.API,
671
            ApiResource.RequestMethod.POST,
672
            path,
673
            ApiRequestParams.paramsToMap(params),
1✔
674
            options);
675
    return getResponseGetter().request(request, PaymentMethod.class);
1✔
676
  }
677

678
  /**
679
   * For more details about AcssDebit, please refer to the <a href="https://docs.stripe.com/api">API
680
   * Reference.</a>
681
   */
682
  @Getter
683
  @Setter
684
  @EqualsAndHashCode(callSuper = false)
685
  public static class AcssDebit extends StripeObject {
×
686
    /** Name of the bank associated with the bank account. */
687
    @SerializedName("bank_name")
688
    String bankName;
689

690
    /**
691
     * Uniquely identifies this particular bank account. You can use this attribute to check whether
692
     * two bank accounts are the same.
693
     */
694
    @SerializedName("fingerprint")
695
    String fingerprint;
696

697
    /** Institution number of the bank account. */
698
    @SerializedName("institution_number")
699
    String institutionNumber;
700

701
    /** Last four digits of the bank account number. */
702
    @SerializedName("last4")
703
    String last4;
704

705
    /** Transit number of the bank account. */
706
    @SerializedName("transit_number")
707
    String transitNumber;
708
  }
709

710
  /**
711
   * For more details about Affirm, please refer to the <a href="https://docs.stripe.com/api">API
712
   * Reference.</a>
713
   */
714
  @Getter
715
  @Setter
716
  @EqualsAndHashCode(callSuper = false)
717
  public static class Affirm extends StripeObject {}
×
718

719
  /**
720
   * For more details about AfterpayClearpay, please refer to the <a
721
   * href="https://docs.stripe.com/api">API Reference.</a>
722
   */
723
  @Getter
724
  @Setter
725
  @EqualsAndHashCode(callSuper = false)
726
  public static class AfterpayClearpay extends StripeObject {}
×
727

728
  /**
729
   * For more details about Alipay, please refer to the <a href="https://docs.stripe.com/api">API
730
   * Reference.</a>
731
   */
732
  @Getter
733
  @Setter
734
  @EqualsAndHashCode(callSuper = false)
735
  public static class Alipay extends StripeObject {}
×
736

737
  /**
738
   * For more details about Alma, please refer to the <a href="https://docs.stripe.com/api">API
739
   * Reference.</a>
740
   */
741
  @Getter
742
  @Setter
743
  @EqualsAndHashCode(callSuper = false)
744
  public static class Alma extends StripeObject {}
×
745

746
  /**
747
   * For more details about AmazonPay, please refer to the <a href="https://docs.stripe.com/api">API
748
   * Reference.</a>
749
   */
750
  @Getter
751
  @Setter
752
  @EqualsAndHashCode(callSuper = false)
753
  public static class AmazonPay extends StripeObject {}
×
754

755
  /**
756
   * For more details about AuBecsDebit, please refer to the <a
757
   * href="https://docs.stripe.com/api">API Reference.</a>
758
   */
759
  @Getter
760
  @Setter
761
  @EqualsAndHashCode(callSuper = false)
762
  public static class AuBecsDebit extends StripeObject {
×
763
    /** Six-digit number identifying bank and branch associated with this bank account. */
764
    @SerializedName("bsb_number")
765
    String bsbNumber;
766

767
    /**
768
     * Uniquely identifies this particular bank account. You can use this attribute to check whether
769
     * two bank accounts are the same.
770
     */
771
    @SerializedName("fingerprint")
772
    String fingerprint;
773

774
    /** Last four digits of the bank account number. */
775
    @SerializedName("last4")
776
    String last4;
777
  }
778

779
  /**
780
   * For more details about BacsDebit, please refer to the <a href="https://docs.stripe.com/api">API
781
   * Reference.</a>
782
   */
783
  @Getter
784
  @Setter
785
  @EqualsAndHashCode(callSuper = false)
786
  public static class BacsDebit extends StripeObject {
×
787
    /**
788
     * Uniquely identifies this particular bank account. You can use this attribute to check whether
789
     * two bank accounts are the same.
790
     */
791
    @SerializedName("fingerprint")
792
    String fingerprint;
793

794
    /** Last four digits of the bank account number. */
795
    @SerializedName("last4")
796
    String last4;
797

798
    /** Sort code of the bank account. (e.g., {@code 10-20-30}) */
799
    @SerializedName("sort_code")
800
    String sortCode;
801
  }
802

803
  /**
804
   * For more details about Bancontact, please refer to the <a
805
   * href="https://docs.stripe.com/api">API Reference.</a>
806
   */
807
  @Getter
808
  @Setter
809
  @EqualsAndHashCode(callSuper = false)
810
  public static class Bancontact extends StripeObject {}
×
811

812
  /**
813
   * For more details about BillingDetails, please refer to the <a
814
   * href="https://docs.stripe.com/api">API Reference.</a>
815
   */
816
  @Getter
817
  @Setter
818
  @EqualsAndHashCode(callSuper = false)
819
  public static class BillingDetails extends StripeObject {
1✔
820
    /** Billing address. */
821
    @SerializedName("address")
822
    Address address;
823

824
    /** Email address. */
825
    @SerializedName("email")
826
    String email;
827

828
    /** Full name. */
829
    @SerializedName("name")
830
    String name;
831

832
    /** Billing phone number (including extension). */
833
    @SerializedName("phone")
834
    String phone;
835
  }
836

837
  /**
838
   * For more details about Blik, please refer to the <a href="https://docs.stripe.com/api">API
839
   * Reference.</a>
840
   */
841
  @Getter
842
  @Setter
843
  @EqualsAndHashCode(callSuper = false)
844
  public static class Blik extends StripeObject {}
×
845

846
  /**
847
   * For more details about Boleto, please refer to the <a href="https://docs.stripe.com/api">API
848
   * Reference.</a>
849
   */
850
  @Getter
851
  @Setter
852
  @EqualsAndHashCode(callSuper = false)
853
  public static class Boleto extends StripeObject {
×
854
    /** Uniquely identifies the customer tax id (CNPJ or CPF). */
855
    @SerializedName("tax_id")
856
    String taxId;
857
  }
858

859
  /**
860
   * For more details about Card, please refer to the <a href="https://docs.stripe.com/api">API
861
   * Reference.</a>
862
   */
863
  @Getter
864
  @Setter
865
  @EqualsAndHashCode(callSuper = false)
866
  public static class Card extends StripeObject {
1✔
867
    /**
868
     * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au}, {@code
869
     * jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code unknown}.
870
     */
871
    @SerializedName("brand")
872
    String brand;
873

874
    /** Checks on Card address and CVC if provided. */
875
    @SerializedName("checks")
876
    Checks checks;
877

878
    /**
879
     * Two-letter ISO code representing the country of the card. You could use this attribute to get
880
     * a sense of the international breakdown of cards you've collected.
881
     */
882
    @SerializedName("country")
883
    String country;
884

885
    /**
886
     * A high-level description of the type of cards issued in this range. (For internal use only
887
     * and not typically available in standard API requests.)
888
     */
889
    @SerializedName("description")
890
    String description;
891

892
    /**
893
     * The brand to use when displaying the card, this accounts for customer's brand choice on
894
     * dual-branded cards. Can be {@code american_express}, {@code cartes_bancaires}, {@code
895
     * diners_club}, {@code discover}, {@code eftpos_australia}, {@code interac}, {@code jcb},
896
     * {@code mastercard}, {@code union_pay}, {@code visa}, or {@code other} and may contain more
897
     * values in the future.
898
     */
899
    @SerializedName("display_brand")
900
    String displayBrand;
901

902
    /** Two-digit number representing the card's expiration month. */
903
    @SerializedName("exp_month")
904
    Long expMonth;
905

906
    /** Four-digit number representing the card's expiration year. */
907
    @SerializedName("exp_year")
908
    Long expYear;
909

910
    /**
911
     * Uniquely identifies this particular card number. You can use this attribute to check whether
912
     * two customers who’ve signed up with you are using the same card number, for example. For
913
     * payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number
914
     * might be provided instead of the underlying card number.
915
     *
916
     * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
917
     * fingerprints for the same card---one for India and one for the rest of the world.</em>
918
     */
919
    @SerializedName("fingerprint")
920
    String fingerprint;
921

922
    /**
923
     * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code unknown}.
924
     */
925
    @SerializedName("funding")
926
    String funding;
927

928
    /** Details of the original PaymentMethod that created this object. */
929
    @SerializedName("generated_from")
930
    GeneratedFrom generatedFrom;
931

932
    /**
933
     * Issuer identification number of the card. (For internal use only and not typically available
934
     * in standard API requests.)
935
     */
936
    @SerializedName("iin")
937
    String iin;
938

939
    /**
940
     * The name of the card's issuing bank. (For internal use only and not typically available in
941
     * standard API requests.)
942
     */
943
    @SerializedName("issuer")
944
    String issuer;
945

946
    /** The last four digits of the card. */
947
    @SerializedName("last4")
948
    String last4;
949

950
    /** Contains information about card networks that can be used to process the payment. */
951
    @SerializedName("networks")
952
    Networks networks;
953

954
    /** Contains details on how this Card may be used for 3D Secure authentication. */
955
    @SerializedName("three_d_secure_usage")
956
    ThreeDSecureUsage threeDSecureUsage;
957

958
    /** If this Card is part of a card wallet, this contains the details of the card wallet. */
959
    @SerializedName("wallet")
960
    Wallet wallet;
961

962
    /**
963
     * For more details about Checks, please refer to the <a href="https://docs.stripe.com/api">API
964
     * Reference.</a>
965
     */
966
    @Getter
967
    @Setter
968
    @EqualsAndHashCode(callSuper = false)
969
    public static class Checks extends StripeObject {
1✔
970
      /**
971
       * If a address line1 was provided, results of the check, one of {@code pass}, {@code fail},
972
       * {@code unavailable}, or {@code unchecked}.
973
       */
974
      @SerializedName("address_line1_check")
975
      String addressLine1Check;
976

977
      /**
978
       * If a address postal code was provided, results of the check, one of {@code pass}, {@code
979
       * fail}, {@code unavailable}, or {@code unchecked}.
980
       */
981
      @SerializedName("address_postal_code_check")
982
      String addressPostalCodeCheck;
983

984
      /**
985
       * If a CVC was provided, results of the check, one of {@code pass}, {@code fail}, {@code
986
       * unavailable}, or {@code unchecked}.
987
       */
988
      @SerializedName("cvc_check")
989
      String cvcCheck;
990
    }
991

992
    /**
993
     * For more details about GeneratedFrom, please refer to the <a
994
     * href="https://docs.stripe.com/api">API Reference.</a>
995
     */
996
    @Getter
997
    @Setter
998
    @EqualsAndHashCode(callSuper = false)
999
    public static class GeneratedFrom extends StripeObject {
×
1000
      /** The charge that created this object. */
1001
      @SerializedName("charge")
1002
      String charge;
1003

1004
      /** Transaction-specific details of the payment method used in the payment. */
1005
      @SerializedName("payment_method_details")
1006
      PaymentMethodDetails paymentMethodDetails;
1007

1008
      /** The ID of the SetupAttempt that generated this PaymentMethod, if any. */
1009
      @SerializedName("setup_attempt")
1010
      @Getter(lombok.AccessLevel.NONE)
1011
      @Setter(lombok.AccessLevel.NONE)
1012
      ExpandableField<SetupAttempt> setupAttempt;
1013

1014
      /** Get ID of expandable {@code setupAttempt} object. */
1015
      public String getSetupAttempt() {
1016
        return (this.setupAttempt != null) ? this.setupAttempt.getId() : null;
×
1017
      }
1018

1019
      public void setSetupAttempt(String id) {
1020
        this.setupAttempt = ApiResource.setExpandableFieldId(id, this.setupAttempt);
×
1021
      }
×
1022

1023
      /** Get expanded {@code setupAttempt}. */
1024
      public SetupAttempt getSetupAttemptObject() {
1025
        return (this.setupAttempt != null) ? this.setupAttempt.getExpanded() : null;
×
1026
      }
1027

1028
      public void setSetupAttemptObject(SetupAttempt expandableObject) {
1029
        this.setupAttempt =
×
1030
            new ExpandableField<SetupAttempt>(expandableObject.getId(), expandableObject);
×
1031
      }
×
1032

1033
      /**
1034
       * For more details about PaymentMethodDetails, please refer to the <a
1035
       * href="https://docs.stripe.com/api">API Reference.</a>
1036
       */
1037
      @Getter
1038
      @Setter
1039
      @EqualsAndHashCode(callSuper = false)
1040
      public static class PaymentMethodDetails extends StripeObject {
×
1041
        @SerializedName("card_present")
1042
        CardPresent cardPresent;
1043

1044
        /**
1045
         * The type of payment method transaction-specific details from the transaction that
1046
         * generated this {@code card} payment method. Always {@code card_present}.
1047
         */
1048
        @SerializedName("type")
1049
        String type;
1050

1051
        /**
1052
         * For more details about CardPresent, please refer to the <a
1053
         * href="https://docs.stripe.com/api">API Reference.</a>
1054
         */
1055
        @Getter
1056
        @Setter
1057
        @EqualsAndHashCode(callSuper = false)
1058
        public static class CardPresent extends StripeObject {
×
1059
          /** The authorized amount. */
1060
          @SerializedName("amount_authorized")
1061
          Long amountAuthorized;
1062

1063
          /**
1064
           * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au},
1065
           * {@code jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code unknown}.
1066
           */
1067
          @SerializedName("brand")
1068
          String brand;
1069

1070
          /**
1071
           * The <a href="https://stripe.com/docs/card-product-codes">product code</a> that
1072
           * identifies the specific program or product associated with a card.
1073
           */
1074
          @SerializedName("brand_product")
1075
          String brandProduct;
1076

1077
          /**
1078
           * When using manual capture, a future timestamp after which the charge will be
1079
           * automatically refunded if uncaptured.
1080
           */
1081
          @SerializedName("capture_before")
1082
          Long captureBefore;
1083

1084
          /**
1085
           * The cardholder name as read from the card, in <a
1086
           * href="https://en.wikipedia.org/wiki/ISO/IEC_7813">ISO 7813</a> format. May include
1087
           * alphanumeric characters, special characters and first/last name separator ({@code /}).
1088
           * In some cases, the cardholder name may not be available depending on how the issuer has
1089
           * configured the card. Cardholder name is typically not available on swipe or contactless
1090
           * payments, such as those made with Apple Pay and Google Pay.
1091
           */
1092
          @SerializedName("cardholder_name")
1093
          String cardholderName;
1094

1095
          /**
1096
           * Two-letter ISO code representing the country of the card. You could use this attribute
1097
           * to get a sense of the international breakdown of cards you've collected.
1098
           */
1099
          @SerializedName("country")
1100
          String country;
1101

1102
          /**
1103
           * A high-level description of the type of cards issued in this range. (For internal use
1104
           * only and not typically available in standard API requests.)
1105
           */
1106
          @SerializedName("description")
1107
          String description;
1108

1109
          /** Authorization response cryptogram. */
1110
          @SerializedName("emv_auth_data")
1111
          String emvAuthData;
1112

1113
          /** Two-digit number representing the card's expiration month. */
1114
          @SerializedName("exp_month")
1115
          Long expMonth;
1116

1117
          /** Four-digit number representing the card's expiration year. */
1118
          @SerializedName("exp_year")
1119
          Long expYear;
1120

1121
          /**
1122
           * Uniquely identifies this particular card number. You can use this attribute to check
1123
           * whether two customers who’ve signed up with you are using the same card number, for
1124
           * example. For payment methods that tokenize card information (Apple Pay, Google Pay),
1125
           * the tokenized number might be provided instead of the underlying card number.
1126
           *
1127
           * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
1128
           * fingerprints for the same card---one for India and one for the rest of the world.</em>
1129
           */
1130
          @SerializedName("fingerprint")
1131
          String fingerprint;
1132

1133
          /**
1134
           * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
1135
           * unknown}.
1136
           */
1137
          @SerializedName("funding")
1138
          String funding;
1139

1140
          /**
1141
           * ID of a card PaymentMethod generated from the card_present PaymentMethod that may be
1142
           * attached to a Customer for future transactions. Only present if it was possible to
1143
           * generate a card PaymentMethod.
1144
           */
1145
          @SerializedName("generated_card")
1146
          String generatedCard;
1147

1148
          /**
1149
           * Issuer identification number of the card. (For internal use only and not typically
1150
           * available in standard API requests.)
1151
           */
1152
          @SerializedName("iin")
1153
          String iin;
1154

1155
          /**
1156
           * Whether this <a href="https://stripe.com/docs/api/payment_intents">PaymentIntent</a> is
1157
           * eligible for incremental authorizations. Request support using <a
1158
           * href="https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support">request_incremental_authorization_support</a>.
1159
           */
1160
          @SerializedName("incremental_authorization_supported")
1161
          Boolean incrementalAuthorizationSupported;
1162

1163
          /**
1164
           * The name of the card's issuing bank. (For internal use only and not typically available
1165
           * in standard API requests.)
1166
           */
1167
          @SerializedName("issuer")
1168
          String issuer;
1169

1170
          /** The last four digits of the card. */
1171
          @SerializedName("last4")
1172
          String last4;
1173

1174
          /**
1175
           * Identifies which network this charge was processed on. Can be {@code amex}, {@code
1176
           * cartes_bancaires}, {@code diners}, {@code discover}, {@code eftpos_au}, {@code
1177
           * interac}, {@code jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code
1178
           * unknown}.
1179
           */
1180
          @SerializedName("network")
1181
          String network;
1182

1183
          /**
1184
           * This is used by the financial networks to identify a transaction. Visa calls this the
1185
           * Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the
1186
           * Acquirer Reference Data. The first three digits of the Trace ID is the Financial
1187
           * Network Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits
1188
           * represent the date (MM/DD). This field will be available for successful Visa,
1189
           * Mastercard, or American Express transactions and always null for other card brands.
1190
           */
1191
          @SerializedName("network_transaction_id")
1192
          String networkTransactionId;
1193

1194
          /** Details about payments collected offline. */
1195
          @SerializedName("offline")
1196
          Offline offline;
1197

1198
          /** Defines whether the authorized amount can be over-captured or not. */
1199
          @SerializedName("overcapture_supported")
1200
          Boolean overcaptureSupported;
1201

1202
          /** EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
1203
          @SerializedName("preferred_locales")
1204
          List<String> preferredLocales;
1205

1206
          /**
1207
           * How card details were read in this transaction.
1208
           *
1209
           * <p>One of {@code contact_emv}, {@code contactless_emv}, {@code
1210
           * contactless_magstripe_mode}, {@code magnetic_stripe_fallback}, or {@code
1211
           * magnetic_stripe_track2}.
1212
           */
1213
          @SerializedName("read_method")
1214
          String readMethod;
1215

1216
          /**
1217
           * A collection of fields required to be displayed on receipts. Only required for EMV
1218
           * transactions.
1219
           */
1220
          @SerializedName("receipt")
1221
          Receipt receipt;
1222

1223
          @SerializedName("wallet")
1224
          Wallet wallet;
1225

1226
          /**
1227
           * For more details about Offline, please refer to the <a
1228
           * href="https://docs.stripe.com/api">API Reference.</a>
1229
           */
1230
          @Getter
1231
          @Setter
1232
          @EqualsAndHashCode(callSuper = false)
1233
          public static class Offline extends StripeObject {
×
1234
            /** Time at which the payment was collected while offline. */
1235
            @SerializedName("stored_at")
1236
            Long storedAt;
1237

1238
            /**
1239
             * The method used to process this payment method offline. Only deferred is allowed.
1240
             *
1241
             * <p>Equal to {@code deferred}.
1242
             */
1243
            @SerializedName("type")
1244
            String type;
1245
          }
1246

1247
          /**
1248
           * For more details about Receipt, please refer to the <a
1249
           * href="https://docs.stripe.com/api">API Reference.</a>
1250
           */
1251
          @Getter
1252
          @Setter
1253
          @EqualsAndHashCode(callSuper = false)
1254
          public static class Receipt extends StripeObject {
×
1255
            /**
1256
             * The type of account being debited or credited
1257
             *
1258
             * <p>One of {@code checking}, {@code credit}, {@code prepaid}, or {@code unknown}.
1259
             */
1260
            @SerializedName("account_type")
1261
            String accountType;
1262

1263
            /** EMV tag 9F26, cryptogram generated by the integrated circuit chip. */
1264
            @SerializedName("application_cryptogram")
1265
            String applicationCryptogram;
1266

1267
            /** Mnenomic of the Application Identifier. */
1268
            @SerializedName("application_preferred_name")
1269
            String applicationPreferredName;
1270

1271
            /** Identifier for this transaction. */
1272
            @SerializedName("authorization_code")
1273
            String authorizationCode;
1274

1275
            /** EMV tag 8A. A code returned by the card issuer. */
1276
            @SerializedName("authorization_response_code")
1277
            String authorizationResponseCode;
1278

1279
            /**
1280
             * Describes the method used by the cardholder to verify ownership of the card. One of
1281
             * the following: {@code approval}, {@code failure}, {@code none}, {@code offline_pin},
1282
             * {@code offline_pin_and_signature}, {@code online_pin}, or {@code signature}.
1283
             */
1284
            @SerializedName("cardholder_verification_method")
1285
            String cardholderVerificationMethod;
1286

1287
            /**
1288
             * EMV tag 84. Similar to the application identifier stored on the integrated circuit
1289
             * chip.
1290
             */
1291
            @SerializedName("dedicated_file_name")
1292
            String dedicatedFileName;
1293

1294
            /** The outcome of a series of EMV functions performed by the card reader. */
1295
            @SerializedName("terminal_verification_results")
1296
            String terminalVerificationResults;
1297

1298
            /** An indication of various EMV functions performed during the transaction. */
1299
            @SerializedName("transaction_status_information")
1300
            String transactionStatusInformation;
1301
          }
1302

1303
          /**
1304
           * For more details about Wallet, please refer to the <a
1305
           * href="https://docs.stripe.com/api">API Reference.</a>
1306
           */
1307
          @Getter
1308
          @Setter
1309
          @EqualsAndHashCode(callSuper = false)
1310
          public static class Wallet extends StripeObject {
×
1311
            /**
1312
             * The type of mobile wallet, one of {@code apple_pay}, {@code google_pay}, {@code
1313
             * samsung_pay}, or {@code unknown}.
1314
             */
1315
            @SerializedName("type")
1316
            String type;
1317
          }
1318
        }
1319
      }
1320
    }
1321

1322
    /**
1323
     * For more details about Networks, please refer to the <a
1324
     * href="https://docs.stripe.com/api">API Reference.</a>
1325
     */
1326
    @Getter
1327
    @Setter
1328
    @EqualsAndHashCode(callSuper = false)
1329
    public static class Networks extends StripeObject {
1✔
1330
      /** All available networks for the card. */
1331
      @SerializedName("available")
1332
      List<String> available;
1333

1334
      /**
1335
       * The preferred network for co-branded cards. Can be {@code cartes_bancaires}, {@code
1336
       * mastercard}, {@code visa} or {@code invalid_preference} if requested network is not valid
1337
       * for the card.
1338
       */
1339
      @SerializedName("preferred")
1340
      String preferred;
1341
    }
1342

1343
    /**
1344
     * For more details about ThreeDSecureUsage, please refer to the <a
1345
     * href="https://docs.stripe.com/api">API Reference.</a>
1346
     */
1347
    @Getter
1348
    @Setter
1349
    @EqualsAndHashCode(callSuper = false)
1350
    public static class ThreeDSecureUsage extends StripeObject {
1✔
1351
      /** Whether 3D Secure is supported on this card. */
1352
      @SerializedName("supported")
1353
      Boolean supported;
1354
    }
1355

1356
    /**
1357
     * For more details about Wallet, please refer to the <a href="https://docs.stripe.com/api">API
1358
     * Reference.</a>
1359
     */
1360
    @Getter
1361
    @Setter
1362
    @EqualsAndHashCode(callSuper = false)
1363
    public static class Wallet extends StripeObject {
×
1364
      @SerializedName("amex_express_checkout")
1365
      AmexExpressCheckout amexExpressCheckout;
1366

1367
      @SerializedName("apple_pay")
1368
      ApplePay applePay;
1369

1370
      /** (For tokenized numbers only.) The last four digits of the device account number. */
1371
      @SerializedName("dynamic_last4")
1372
      String dynamicLast4;
1373

1374
      @SerializedName("google_pay")
1375
      GooglePay googlePay;
1376

1377
      @SerializedName("link")
1378
      Link link;
1379

1380
      @SerializedName("masterpass")
1381
      Masterpass masterpass;
1382

1383
      @SerializedName("samsung_pay")
1384
      SamsungPay samsungPay;
1385

1386
      /**
1387
       * The type of the card wallet, one of {@code amex_express_checkout}, {@code apple_pay},
1388
       * {@code google_pay}, {@code masterpass}, {@code samsung_pay}, {@code visa_checkout}, or
1389
       * {@code link}. An additional hash is included on the Wallet subhash with a name matching
1390
       * this value. It contains additional information specific to the card wallet type.
1391
       */
1392
      @SerializedName("type")
1393
      String type;
1394

1395
      @SerializedName("visa_checkout")
1396
      VisaCheckout visaCheckout;
1397

1398
      /**
1399
       * For more details about AmexExpressCheckout, please refer to the <a
1400
       * href="https://docs.stripe.com/api">API Reference.</a>
1401
       */
1402
      @Getter
1403
      @Setter
1404
      @EqualsAndHashCode(callSuper = false)
1405
      public static class AmexExpressCheckout extends StripeObject {}
×
1406

1407
      /**
1408
       * For more details about ApplePay, please refer to the <a
1409
       * href="https://docs.stripe.com/api">API Reference.</a>
1410
       */
1411
      @Getter
1412
      @Setter
1413
      @EqualsAndHashCode(callSuper = false)
1414
      public static class ApplePay extends StripeObject {}
×
1415

1416
      /**
1417
       * For more details about GooglePay, please refer to the <a
1418
       * href="https://docs.stripe.com/api">API Reference.</a>
1419
       */
1420
      @Getter
1421
      @Setter
1422
      @EqualsAndHashCode(callSuper = false)
1423
      public static class GooglePay extends StripeObject {}
×
1424

1425
      /**
1426
       * For more details about Link, please refer to the <a href="https://docs.stripe.com/api">API
1427
       * Reference.</a>
1428
       */
1429
      @Getter
1430
      @Setter
1431
      @EqualsAndHashCode(callSuper = false)
1432
      public static class Link extends StripeObject {}
×
1433

1434
      /**
1435
       * For more details about Masterpass, please refer to the <a
1436
       * href="https://docs.stripe.com/api">API Reference.</a>
1437
       */
1438
      @Getter
1439
      @Setter
1440
      @EqualsAndHashCode(callSuper = false)
1441
      public static class Masterpass extends StripeObject {
×
1442
        /**
1443
         * Owner's verified billing address. Values are verified or provided by the wallet directly
1444
         * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1445
         */
1446
        @SerializedName("billing_address")
1447
        Address billingAddress;
1448

1449
        /**
1450
         * Owner's verified email. Values are verified or provided by the wallet directly (if
1451
         * supported) at the time of authorization or settlement. They cannot be set or mutated.
1452
         */
1453
        @SerializedName("email")
1454
        String email;
1455

1456
        /**
1457
         * Owner's verified full name. Values are verified or provided by the wallet directly (if
1458
         * supported) at the time of authorization or settlement. They cannot be set or mutated.
1459
         */
1460
        @SerializedName("name")
1461
        String name;
1462

1463
        /**
1464
         * Owner's verified shipping address. Values are verified or provided by the wallet directly
1465
         * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1466
         */
1467
        @SerializedName("shipping_address")
1468
        Address shippingAddress;
1469
      }
1470

1471
      /**
1472
       * For more details about SamsungPay, please refer to the <a
1473
       * href="https://docs.stripe.com/api">API Reference.</a>
1474
       */
1475
      @Getter
1476
      @Setter
1477
      @EqualsAndHashCode(callSuper = false)
1478
      public static class SamsungPay extends StripeObject {}
×
1479

1480
      /**
1481
       * For more details about VisaCheckout, please refer to the <a
1482
       * href="https://docs.stripe.com/api">API Reference.</a>
1483
       */
1484
      @Getter
1485
      @Setter
1486
      @EqualsAndHashCode(callSuper = false)
1487
      public static class VisaCheckout extends StripeObject {
×
1488
        /**
1489
         * Owner's verified billing address. Values are verified or provided by the wallet directly
1490
         * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1491
         */
1492
        @SerializedName("billing_address")
1493
        Address billingAddress;
1494

1495
        /**
1496
         * Owner's verified email. Values are verified or provided by the wallet directly (if
1497
         * supported) at the time of authorization or settlement. They cannot be set or mutated.
1498
         */
1499
        @SerializedName("email")
1500
        String email;
1501

1502
        /**
1503
         * Owner's verified full name. Values are verified or provided by the wallet directly (if
1504
         * supported) at the time of authorization or settlement. They cannot be set or mutated.
1505
         */
1506
        @SerializedName("name")
1507
        String name;
1508

1509
        /**
1510
         * Owner's verified shipping address. Values are verified or provided by the wallet directly
1511
         * (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1512
         */
1513
        @SerializedName("shipping_address")
1514
        Address shippingAddress;
1515
      }
1516
    }
1517
  }
1518

1519
  /**
1520
   * For more details about CardPresent, please refer to the <a
1521
   * href="https://docs.stripe.com/api">API Reference.</a>
1522
   */
1523
  @Getter
1524
  @Setter
1525
  @EqualsAndHashCode(callSuper = false)
1526
  public static class CardPresent extends StripeObject {
×
1527
    /**
1528
     * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au}, {@code
1529
     * jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code unknown}.
1530
     */
1531
    @SerializedName("brand")
1532
    String brand;
1533

1534
    /**
1535
     * The <a href="https://stripe.com/docs/card-product-codes">product code</a> that identifies the
1536
     * specific program or product associated with a card.
1537
     */
1538
    @SerializedName("brand_product")
1539
    String brandProduct;
1540

1541
    /**
1542
     * The cardholder name as read from the card, in <a
1543
     * href="https://en.wikipedia.org/wiki/ISO/IEC_7813">ISO 7813</a> format. May include
1544
     * alphanumeric characters, special characters and first/last name separator ({@code /}). In
1545
     * some cases, the cardholder name may not be available depending on how the issuer has
1546
     * configured the card. Cardholder name is typically not available on swipe or contactless
1547
     * payments, such as those made with Apple Pay and Google Pay.
1548
     */
1549
    @SerializedName("cardholder_name")
1550
    String cardholderName;
1551

1552
    /**
1553
     * Two-letter ISO code representing the country of the card. You could use this attribute to get
1554
     * a sense of the international breakdown of cards you've collected.
1555
     */
1556
    @SerializedName("country")
1557
    String country;
1558

1559
    /**
1560
     * A high-level description of the type of cards issued in this range. (For internal use only
1561
     * and not typically available in standard API requests.)
1562
     */
1563
    @SerializedName("description")
1564
    String description;
1565

1566
    /** Two-digit number representing the card's expiration month. */
1567
    @SerializedName("exp_month")
1568
    Long expMonth;
1569

1570
    /** Four-digit number representing the card's expiration year. */
1571
    @SerializedName("exp_year")
1572
    Long expYear;
1573

1574
    /**
1575
     * Uniquely identifies this particular card number. You can use this attribute to check whether
1576
     * two customers who’ve signed up with you are using the same card number, for example. For
1577
     * payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number
1578
     * might be provided instead of the underlying card number.
1579
     *
1580
     * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
1581
     * fingerprints for the same card---one for India and one for the rest of the world.</em>
1582
     */
1583
    @SerializedName("fingerprint")
1584
    String fingerprint;
1585

1586
    /**
1587
     * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code unknown}.
1588
     */
1589
    @SerializedName("funding")
1590
    String funding;
1591

1592
    /**
1593
     * Issuer identification number of the card. (For internal use only and not typically available
1594
     * in standard API requests.)
1595
     */
1596
    @SerializedName("iin")
1597
    String iin;
1598

1599
    /**
1600
     * The name of the card's issuing bank. (For internal use only and not typically available in
1601
     * standard API requests.)
1602
     */
1603
    @SerializedName("issuer")
1604
    String issuer;
1605

1606
    /** The last four digits of the card. */
1607
    @SerializedName("last4")
1608
    String last4;
1609

1610
    /** Contains information about card networks that can be used to process the payment. */
1611
    @SerializedName("networks")
1612
    Networks networks;
1613

1614
    /** Details about payment methods collected offline. */
1615
    @SerializedName("offline")
1616
    Offline offline;
1617

1618
    /** EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
1619
    @SerializedName("preferred_locales")
1620
    List<String> preferredLocales;
1621

1622
    /**
1623
     * How card details were read in this transaction.
1624
     *
1625
     * <p>One of {@code contact_emv}, {@code contactless_emv}, {@code contactless_magstripe_mode},
1626
     * {@code magnetic_stripe_fallback}, or {@code magnetic_stripe_track2}.
1627
     */
1628
    @SerializedName("read_method")
1629
    String readMethod;
1630

1631
    @SerializedName("wallet")
1632
    Wallet wallet;
1633

1634
    /**
1635
     * For more details about Networks, please refer to the <a
1636
     * href="https://docs.stripe.com/api">API Reference.</a>
1637
     */
1638
    @Getter
1639
    @Setter
1640
    @EqualsAndHashCode(callSuper = false)
1641
    public static class Networks extends StripeObject {
×
1642
      /** All available networks for the card. */
1643
      @SerializedName("available")
1644
      List<String> available;
1645

1646
      /** The preferred network for the card. */
1647
      @SerializedName("preferred")
1648
      String preferred;
1649
    }
1650

1651
    /**
1652
     * For more details about Offline, please refer to the <a href="https://docs.stripe.com/api">API
1653
     * Reference.</a>
1654
     */
1655
    @Getter
1656
    @Setter
1657
    @EqualsAndHashCode(callSuper = false)
1658
    public static class Offline extends StripeObject {
×
1659
      /** Time at which the payment was collected while offline. */
1660
      @SerializedName("stored_at")
1661
      Long storedAt;
1662

1663
      /**
1664
       * The method used to process this payment method offline. Only deferred is allowed.
1665
       *
1666
       * <p>Equal to {@code deferred}.
1667
       */
1668
      @SerializedName("type")
1669
      String type;
1670
    }
1671

1672
    /**
1673
     * For more details about Wallet, please refer to the <a href="https://docs.stripe.com/api">API
1674
     * Reference.</a>
1675
     */
1676
    @Getter
1677
    @Setter
1678
    @EqualsAndHashCode(callSuper = false)
1679
    public static class Wallet extends StripeObject {
×
1680
      /**
1681
       * The type of mobile wallet, one of {@code apple_pay}, {@code google_pay}, {@code
1682
       * samsung_pay}, or {@code unknown}.
1683
       */
1684
      @SerializedName("type")
1685
      String type;
1686
    }
1687
  }
1688

1689
  /**
1690
   * For more details about Cashapp, please refer to the <a href="https://docs.stripe.com/api">API
1691
   * Reference.</a>
1692
   */
1693
  @Getter
1694
  @Setter
1695
  @EqualsAndHashCode(callSuper = false)
1696
  public static class Cashapp extends StripeObject {
×
1697
    /** A unique and immutable identifier assigned by Cash App to every buyer. */
1698
    @SerializedName("buyer_id")
1699
    String buyerId;
1700

1701
    /** A public identifier for buyers using Cash App. */
1702
    @SerializedName("cashtag")
1703
    String cashtag;
1704
  }
1705

1706
  /**
1707
   * For more details about CustomerBalance, please refer to the <a
1708
   * href="https://docs.stripe.com/api">API Reference.</a>
1709
   */
1710
  @Getter
1711
  @Setter
1712
  @EqualsAndHashCode(callSuper = false)
1713
  public static class CustomerBalance extends StripeObject {}
×
1714

1715
  /**
1716
   * For more details about Eps, please refer to the <a href="https://docs.stripe.com/api">API
1717
   * Reference.</a>
1718
   */
1719
  @Getter
1720
  @Setter
1721
  @EqualsAndHashCode(callSuper = false)
1722
  public static class Eps extends StripeObject {
×
1723
    /**
1724
     * The customer's bank. Should be one of {@code arzte_und_apotheker_bank}, {@code
1725
     * austrian_anadi_bank_ag}, {@code bank_austria}, {@code bankhaus_carl_spangler}, {@code
1726
     * bankhaus_schelhammer_und_schattera_ag}, {@code bawag_psk_ag}, {@code bks_bank_ag}, {@code
1727
     * brull_kallmus_bank_ag}, {@code btv_vier_lander_bank}, {@code capital_bank_grawe_gruppe_ag},
1728
     * {@code deutsche_bank_ag}, {@code dolomitenbank}, {@code easybank_ag}, {@code
1729
     * erste_bank_und_sparkassen}, {@code hypo_alpeadriabank_international_ag}, {@code
1730
     * hypo_noe_lb_fur_niederosterreich_u_wien}, {@code hypo_oberosterreich_salzburg_steiermark},
1731
     * {@code hypo_tirol_bank_ag}, {@code hypo_vorarlberg_bank_ag}, {@code
1732
     * hypo_bank_burgenland_aktiengesellschaft}, {@code marchfelder_bank}, {@code oberbank_ag},
1733
     * {@code raiffeisen_bankengruppe_osterreich}, {@code schoellerbank_ag}, {@code
1734
     * sparda_bank_wien}, {@code volksbank_gruppe}, {@code volkskreditbank_ag}, or {@code
1735
     * vr_bank_braunau}.
1736
     */
1737
    @SerializedName("bank")
1738
    String bank;
1739
  }
1740

1741
  /**
1742
   * For more details about Fpx, please refer to the <a href="https://docs.stripe.com/api">API
1743
   * Reference.</a>
1744
   */
1745
  @Getter
1746
  @Setter
1747
  @EqualsAndHashCode(callSuper = false)
1748
  public static class Fpx extends StripeObject {
×
1749
    /** Account holder type, if provided. Can be one of {@code individual} or {@code company}. */
1750
    @SerializedName("account_holder_type")
1751
    String accountHolderType;
1752

1753
    /**
1754
     * The customer's bank, if provided. Can be one of {@code affin_bank}, {@code agrobank}, {@code
1755
     * alliance_bank}, {@code ambank}, {@code bank_islam}, {@code bank_muamalat}, {@code
1756
     * bank_rakyat}, {@code bsn}, {@code cimb}, {@code hong_leong_bank}, {@code hsbc}, {@code kfh},
1757
     * {@code maybank2u}, {@code ocbc}, {@code public_bank}, {@code rhb}, {@code
1758
     * standard_chartered}, {@code uob}, {@code deutsche_bank}, {@code maybank2e}, {@code
1759
     * pb_enterprise}, or {@code bank_of_china}.
1760
     */
1761
    @SerializedName("bank")
1762
    String bank;
1763
  }
1764

1765
  /**
1766
   * For more details about Giropay, please refer to the <a href="https://docs.stripe.com/api">API
1767
   * Reference.</a>
1768
   */
1769
  @Getter
1770
  @Setter
1771
  @EqualsAndHashCode(callSuper = false)
1772
  public static class Giropay extends StripeObject {}
×
1773

1774
  /**
1775
   * For more details about Gopay, please refer to the <a href="https://docs.stripe.com/api">API
1776
   * Reference.</a>
1777
   */
1778
  @Getter
1779
  @Setter
1780
  @EqualsAndHashCode(callSuper = false)
1781
  public static class Gopay extends StripeObject {}
×
1782

1783
  /**
1784
   * For more details about Grabpay, please refer to the <a href="https://docs.stripe.com/api">API
1785
   * Reference.</a>
1786
   */
1787
  @Getter
1788
  @Setter
1789
  @EqualsAndHashCode(callSuper = false)
1790
  public static class Grabpay extends StripeObject {}
×
1791

1792
  /**
1793
   * For more details about IdBankTransfer, please refer to the <a
1794
   * href="https://docs.stripe.com/api">API Reference.</a>
1795
   */
1796
  @Getter
1797
  @Setter
1798
  @EqualsAndHashCode(callSuper = false)
NEW
1799
  public static class IdBankTransfer extends StripeObject {
×
1800
    @SerializedName("bank")
1801
    String bank;
1802

1803
    @SerializedName("bank_code")
1804
    String bankCode;
1805

1806
    @SerializedName("bank_name")
1807
    String bankName;
1808

1809
    @SerializedName("display_name")
1810
    String displayName;
1811
  }
1812

1813
  /**
1814
   * For more details about Ideal, please refer to the <a href="https://docs.stripe.com/api">API
1815
   * Reference.</a>
1816
   */
1817
  @Getter
1818
  @Setter
1819
  @EqualsAndHashCode(callSuper = false)
1820
  public static class Ideal extends StripeObject {
×
1821
    /**
1822
     * The customer's bank, if provided. Can be one of {@code abn_amro}, {@code asn_bank}, {@code
1823
     * bunq}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, {@code n26}, {@code
1824
     * nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code sns_bank}, {@code
1825
     * triodos_bank}, {@code van_lanschot}, or {@code yoursafe}.
1826
     */
1827
    @SerializedName("bank")
1828
    String bank;
1829

1830
    /**
1831
     * The Bank Identifier Code of the customer's bank, if the bank was provided.
1832
     *
1833
     * <p>One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code
1834
     * FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code MOYONL21}, {@code
1835
     * NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code REVOIE23}, {@code
1836
     * REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}.
1837
     */
1838
    @SerializedName("bic")
1839
    String bic;
1840
  }
1841

1842
  /**
1843
   * For more details about InteracPresent, please refer to the <a
1844
   * href="https://docs.stripe.com/api">API Reference.</a>
1845
   */
1846
  @Getter
1847
  @Setter
1848
  @EqualsAndHashCode(callSuper = false)
1849
  public static class InteracPresent extends StripeObject {
×
1850
    /** Card brand. Can be {@code interac}, {@code mastercard} or {@code visa}. */
1851
    @SerializedName("brand")
1852
    String brand;
1853

1854
    /**
1855
     * The cardholder name as read from the card, in <a
1856
     * href="https://en.wikipedia.org/wiki/ISO/IEC_7813">ISO 7813</a> format. May include
1857
     * alphanumeric characters, special characters and first/last name separator ({@code /}). In
1858
     * some cases, the cardholder name may not be available depending on how the issuer has
1859
     * configured the card. Cardholder name is typically not available on swipe or contactless
1860
     * payments, such as those made with Apple Pay and Google Pay.
1861
     */
1862
    @SerializedName("cardholder_name")
1863
    String cardholderName;
1864

1865
    /**
1866
     * Two-letter ISO code representing the country of the card. You could use this attribute to get
1867
     * a sense of the international breakdown of cards you've collected.
1868
     */
1869
    @SerializedName("country")
1870
    String country;
1871

1872
    /**
1873
     * A high-level description of the type of cards issued in this range. (For internal use only
1874
     * and not typically available in standard API requests.)
1875
     */
1876
    @SerializedName("description")
1877
    String description;
1878

1879
    /** Two-digit number representing the card's expiration month. */
1880
    @SerializedName("exp_month")
1881
    Long expMonth;
1882

1883
    /** Four-digit number representing the card's expiration year. */
1884
    @SerializedName("exp_year")
1885
    Long expYear;
1886

1887
    /**
1888
     * Uniquely identifies this particular card number. You can use this attribute to check whether
1889
     * two customers who’ve signed up with you are using the same card number, for example. For
1890
     * payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number
1891
     * might be provided instead of the underlying card number.
1892
     *
1893
     * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
1894
     * fingerprints for the same card---one for India and one for the rest of the world.</em>
1895
     */
1896
    @SerializedName("fingerprint")
1897
    String fingerprint;
1898

1899
    /**
1900
     * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code unknown}.
1901
     */
1902
    @SerializedName("funding")
1903
    String funding;
1904

1905
    /**
1906
     * Issuer identification number of the card. (For internal use only and not typically available
1907
     * in standard API requests.)
1908
     */
1909
    @SerializedName("iin")
1910
    String iin;
1911

1912
    /**
1913
     * The name of the card's issuing bank. (For internal use only and not typically available in
1914
     * standard API requests.)
1915
     */
1916
    @SerializedName("issuer")
1917
    String issuer;
1918

1919
    /** The last four digits of the card. */
1920
    @SerializedName("last4")
1921
    String last4;
1922

1923
    /** Contains information about card networks that can be used to process the payment. */
1924
    @SerializedName("networks")
1925
    Networks networks;
1926

1927
    /** EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
1928
    @SerializedName("preferred_locales")
1929
    List<String> preferredLocales;
1930

1931
    /**
1932
     * How card details were read in this transaction.
1933
     *
1934
     * <p>One of {@code contact_emv}, {@code contactless_emv}, {@code contactless_magstripe_mode},
1935
     * {@code magnetic_stripe_fallback}, or {@code magnetic_stripe_track2}.
1936
     */
1937
    @SerializedName("read_method")
1938
    String readMethod;
1939

1940
    /**
1941
     * For more details about Networks, please refer to the <a
1942
     * href="https://docs.stripe.com/api">API Reference.</a>
1943
     */
1944
    @Getter
1945
    @Setter
1946
    @EqualsAndHashCode(callSuper = false)
1947
    public static class Networks extends StripeObject {
×
1948
      /** All available networks for the card. */
1949
      @SerializedName("available")
1950
      List<String> available;
1951

1952
      /** The preferred network for the card. */
1953
      @SerializedName("preferred")
1954
      String preferred;
1955
    }
1956
  }
1957

1958
  /**
1959
   * For more details about KakaoPay, please refer to the <a href="https://docs.stripe.com/api">API
1960
   * Reference.</a>
1961
   */
1962
  @Getter
1963
  @Setter
1964
  @EqualsAndHashCode(callSuper = false)
1965
  public static class KakaoPay extends StripeObject {}
×
1966

1967
  /**
1968
   * For more details about Klarna, please refer to the <a href="https://docs.stripe.com/api">API
1969
   * Reference.</a>
1970
   */
1971
  @Getter
1972
  @Setter
1973
  @EqualsAndHashCode(callSuper = false)
1974
  public static class Klarna extends StripeObject {
×
1975
    /** The customer's date of birth, if provided. */
1976
    @SerializedName("dob")
1977
    Dob dob;
1978

1979
    /**
1980
     * For more details about Dob, please refer to the <a href="https://docs.stripe.com/api">API
1981
     * Reference.</a>
1982
     */
1983
    @Getter
1984
    @Setter
1985
    @EqualsAndHashCode(callSuper = false)
1986
    public static class Dob extends StripeObject {
×
1987
      /** The day of birth, between 1 and 31. */
1988
      @SerializedName("day")
1989
      Long day;
1990

1991
      /** The month of birth, between 1 and 12. */
1992
      @SerializedName("month")
1993
      Long month;
1994

1995
      /** The four-digit year of birth. */
1996
      @SerializedName("year")
1997
      Long year;
1998
    }
1999
  }
2000

2001
  /**
2002
   * For more details about Konbini, please refer to the <a href="https://docs.stripe.com/api">API
2003
   * Reference.</a>
2004
   */
2005
  @Getter
2006
  @Setter
2007
  @EqualsAndHashCode(callSuper = false)
2008
  public static class Konbini extends StripeObject {}
×
2009

2010
  /**
2011
   * For more details about KrCard, please refer to the <a href="https://docs.stripe.com/api">API
2012
   * Reference.</a>
2013
   */
2014
  @Getter
2015
  @Setter
2016
  @EqualsAndHashCode(callSuper = false)
2017
  public static class KrCard extends StripeObject {
×
2018
    /**
2019
     * The local credit or debit card brand.
2020
     *
2021
     * <p>One of {@code bc}, {@code citi}, {@code hana}, {@code hyundai}, {@code jeju}, {@code
2022
     * jeonbuk}, {@code kakaobank}, {@code kbank}, {@code kdbbank}, {@code kookmin}, {@code
2023
     * kwangju}, {@code lotte}, {@code mg}, {@code nh}, {@code post}, {@code samsung}, {@code
2024
     * savingsbank}, {@code shinhan}, {@code shinhyup}, {@code suhyup}, {@code tossbank}, or {@code
2025
     * woori}.
2026
     */
2027
    @SerializedName("brand")
2028
    String brand;
2029

2030
    /** The last four digits of the card. This may not be present for American Express cards. */
2031
    @SerializedName("last4")
2032
    String last4;
2033
  }
2034

2035
  /**
2036
   * For more details about Link, please refer to the <a href="https://docs.stripe.com/api">API
2037
   * Reference.</a>
2038
   */
2039
  @Getter
2040
  @Setter
2041
  @EqualsAndHashCode(callSuper = false)
2042
  public static class Link extends StripeObject {
×
2043
    /** Account owner's email address. */
2044
    @SerializedName("email")
2045
    String email;
2046

2047
    /** [Deprecated] This is a legacy parameter that no longer has any function. */
2048
    @SerializedName("persistent_token")
2049
    @Deprecated
2050
    String persistentToken;
2051
  }
2052

2053
  /**
2054
   * For more details about MbWay, please refer to the <a href="https://docs.stripe.com/api">API
2055
   * Reference.</a>
2056
   */
2057
  @Getter
2058
  @Setter
2059
  @EqualsAndHashCode(callSuper = false)
2060
  public static class MbWay extends StripeObject {}
×
2061

2062
  /**
2063
   * For more details about Mobilepay, please refer to the <a href="https://docs.stripe.com/api">API
2064
   * Reference.</a>
2065
   */
2066
  @Getter
2067
  @Setter
2068
  @EqualsAndHashCode(callSuper = false)
2069
  public static class Mobilepay extends StripeObject {}
×
2070

2071
  /**
2072
   * For more details about Multibanco, please refer to the <a
2073
   * href="https://docs.stripe.com/api">API Reference.</a>
2074
   */
2075
  @Getter
2076
  @Setter
2077
  @EqualsAndHashCode(callSuper = false)
2078
  public static class Multibanco extends StripeObject {}
×
2079

2080
  /**
2081
   * For more details about NaverPay, please refer to the <a href="https://docs.stripe.com/api">API
2082
   * Reference.</a>
2083
   */
2084
  @Getter
2085
  @Setter
2086
  @EqualsAndHashCode(callSuper = false)
2087
  public static class NaverPay extends StripeObject {
×
2088
    /**
2089
     * Whether to fund this transaction with Naver Pay points or a card.
2090
     *
2091
     * <p>One of {@code card}, or {@code points}.
2092
     */
2093
    @SerializedName("funding")
2094
    String funding;
2095
  }
2096

2097
  /**
2098
   * For more details about Oxxo, please refer to the <a href="https://docs.stripe.com/api">API
2099
   * Reference.</a>
2100
   */
2101
  @Getter
2102
  @Setter
2103
  @EqualsAndHashCode(callSuper = false)
2104
  public static class Oxxo extends StripeObject {}
×
2105

2106
  /**
2107
   * For more details about P24, please refer to the <a href="https://docs.stripe.com/api">API
2108
   * Reference.</a>
2109
   */
2110
  @Getter
2111
  @Setter
2112
  @EqualsAndHashCode(callSuper = false)
2113
  public static class P24 extends StripeObject {
×
2114
    /**
2115
     * The customer's bank, if provided.
2116
     *
2117
     * <p>One of {@code alior_bank}, {@code bank_millennium}, {@code bank_nowy_bfg_sa}, {@code
2118
     * bank_pekao_sa}, {@code banki_spbdzielcze}, {@code blik}, {@code bnp_paribas}, {@code boz},
2119
     * {@code citi_handlowy}, {@code credit_agricole}, {@code envelobank}, {@code
2120
     * etransfer_pocztowy24}, {@code getin_bank}, {@code ideabank}, {@code ing}, {@code inteligo},
2121
     * {@code mbank_mtransfer}, {@code nest_przelew}, {@code noble_pay}, {@code pbac_z_ipko}, {@code
2122
     * plus_bank}, {@code santander_przelew24}, {@code tmobile_usbugi_bankowe}, {@code toyota_bank},
2123
     * {@code velobank}, or {@code volkswagen_bank}.
2124
     */
2125
    @SerializedName("bank")
2126
    String bank;
2127
  }
2128

2129
  /**
2130
   * For more details about Payco, please refer to the <a href="https://docs.stripe.com/api">API
2131
   * Reference.</a>
2132
   */
2133
  @Getter
2134
  @Setter
2135
  @EqualsAndHashCode(callSuper = false)
2136
  public static class Payco extends StripeObject {}
×
2137

2138
  /**
2139
   * For more details about Paynow, please refer to the <a href="https://docs.stripe.com/api">API
2140
   * Reference.</a>
2141
   */
2142
  @Getter
2143
  @Setter
2144
  @EqualsAndHashCode(callSuper = false)
2145
  public static class Paynow extends StripeObject {}
×
2146

2147
  /**
2148
   * For more details about Paypal, please refer to the <a href="https://docs.stripe.com/api">API
2149
   * Reference.</a>
2150
   */
2151
  @Getter
2152
  @Setter
2153
  @EqualsAndHashCode(callSuper = false)
2154
  public static class Paypal extends StripeObject {
×
2155
    /**
2156
     * Uniquely identifies this particular PayPal account. You can use this attribute to check
2157
     * whether two PayPal accounts are the same.
2158
     */
2159
    @SerializedName("fingerprint")
2160
    String fingerprint;
2161

2162
    /**
2163
     * Owner's email. Values are provided by PayPal directly (if supported) at the time of
2164
     * authorization or settlement. They cannot be set or mutated.
2165
     */
2166
    @SerializedName("payer_email")
2167
    String payerEmail;
2168

2169
    /** PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */
2170
    @SerializedName("payer_id")
2171
    String payerId;
2172

2173
    /**
2174
     * Owner's verified email. Values are verified or provided by PayPal directly (if supported) at
2175
     * the time of authorization or settlement. They cannot be set or mutated.
2176
     */
2177
    @SerializedName("verified_email")
2178
    String verifiedEmail;
2179
  }
2180

2181
  /**
2182
   * For more details about Payto, please refer to the <a href="https://docs.stripe.com/api">API
2183
   * Reference.</a>
2184
   */
2185
  @Getter
2186
  @Setter
2187
  @EqualsAndHashCode(callSuper = false)
2188
  public static class Payto extends StripeObject {
×
2189
    /** Bank-State-Branch number of the bank account. */
2190
    @SerializedName("bsb_number")
2191
    String bsbNumber;
2192

2193
    /** Last four digits of the bank account number. */
2194
    @SerializedName("last4")
2195
    String last4;
2196

2197
    /** The PayID alias for the bank account. */
2198
    @SerializedName("pay_id")
2199
    String payId;
2200
  }
2201

2202
  /**
2203
   * For more details about Pix, please refer to the <a href="https://docs.stripe.com/api">API
2204
   * Reference.</a>
2205
   */
2206
  @Getter
2207
  @Setter
2208
  @EqualsAndHashCode(callSuper = false)
2209
  public static class Pix extends StripeObject {}
×
2210

2211
  /**
2212
   * For more details about Promptpay, please refer to the <a href="https://docs.stripe.com/api">API
2213
   * Reference.</a>
2214
   */
2215
  @Getter
2216
  @Setter
2217
  @EqualsAndHashCode(callSuper = false)
2218
  public static class Promptpay extends StripeObject {}
×
2219

2220
  /**
2221
   * For more details about Qris, please refer to the <a href="https://docs.stripe.com/api">API
2222
   * Reference.</a>
2223
   */
2224
  @Getter
2225
  @Setter
2226
  @EqualsAndHashCode(callSuper = false)
2227
  public static class Qris extends StripeObject {}
×
2228

2229
  /**
2230
   * Options to configure Radar. See <a href="https://stripe.com/docs/radar/radar-session">Radar
2231
   * Session</a> for more information.
2232
   */
2233
  @Getter
2234
  @Setter
2235
  @EqualsAndHashCode(callSuper = false)
2236
  public static class RadarOptions extends StripeObject {
×
2237
    /**
2238
     * A <a href="https://stripe.com/docs/radar/radar-session">Radar Session</a> is a snapshot of
2239
     * the browser metadata and device details that help Radar make more accurate predictions on
2240
     * your payments.
2241
     */
2242
    @SerializedName("session")
2243
    String session;
2244
  }
2245

2246
  /**
2247
   * For more details about Rechnung, please refer to the <a href="https://docs.stripe.com/api">API
2248
   * Reference.</a>
2249
   */
2250
  @Getter
2251
  @Setter
2252
  @EqualsAndHashCode(callSuper = false)
2253
  public static class Rechnung extends StripeObject {
×
2254
    @SerializedName("dob")
2255
    Dob dob;
2256

2257
    /**
2258
     * For more details about Dob, please refer to the <a href="https://docs.stripe.com/api">API
2259
     * Reference.</a>
2260
     */
2261
    @Getter
2262
    @Setter
2263
    @EqualsAndHashCode(callSuper = false)
2264
    public static class Dob extends StripeObject {
×
2265
      /** The day of birth, between 1 and 31. */
2266
      @SerializedName("day")
2267
      Long day;
2268

2269
      /** The month of birth, between 1 and 12. */
2270
      @SerializedName("month")
2271
      Long month;
2272

2273
      /** The four-digit year of birth. */
2274
      @SerializedName("year")
2275
      Long year;
2276
    }
2277
  }
2278

2279
  /**
2280
   * For more details about RevolutPay, please refer to the <a
2281
   * href="https://docs.stripe.com/api">API Reference.</a>
2282
   */
2283
  @Getter
2284
  @Setter
2285
  @EqualsAndHashCode(callSuper = false)
2286
  public static class RevolutPay extends StripeObject {}
×
2287

2288
  /**
2289
   * For more details about SamsungPay, please refer to the <a
2290
   * href="https://docs.stripe.com/api">API Reference.</a>
2291
   */
2292
  @Getter
2293
  @Setter
2294
  @EqualsAndHashCode(callSuper = false)
2295
  public static class SamsungPay extends StripeObject {}
×
2296

2297
  /**
2298
   * For more details about SepaDebit, please refer to the <a href="https://docs.stripe.com/api">API
2299
   * Reference.</a>
2300
   */
2301
  @Getter
2302
  @Setter
2303
  @EqualsAndHashCode(callSuper = false)
2304
  public static class SepaDebit extends StripeObject {
×
2305
    /** Bank code of bank associated with the bank account. */
2306
    @SerializedName("bank_code")
2307
    String bankCode;
2308

2309
    /** Branch code of bank associated with the bank account. */
2310
    @SerializedName("branch_code")
2311
    String branchCode;
2312

2313
    /** Two-letter ISO code representing the country the bank account is located in. */
2314
    @SerializedName("country")
2315
    String country;
2316

2317
    /**
2318
     * Uniquely identifies this particular bank account. You can use this attribute to check whether
2319
     * two bank accounts are the same.
2320
     */
2321
    @SerializedName("fingerprint")
2322
    String fingerprint;
2323

2324
    /** Information about the object that generated this PaymentMethod. */
2325
    @SerializedName("generated_from")
2326
    GeneratedFrom generatedFrom;
2327

2328
    /** Last four characters of the IBAN. */
2329
    @SerializedName("last4")
2330
    String last4;
2331

2332
    /**
2333
     * For more details about GeneratedFrom, please refer to the <a
2334
     * href="https://docs.stripe.com/api">API Reference.</a>
2335
     */
2336
    @Getter
2337
    @Setter
2338
    @EqualsAndHashCode(callSuper = false)
2339
    public static class GeneratedFrom extends StripeObject {
×
2340
      /** The ID of the Charge that generated this PaymentMethod, if any. */
2341
      @SerializedName("charge")
2342
      @Getter(lombok.AccessLevel.NONE)
2343
      @Setter(lombok.AccessLevel.NONE)
2344
      ExpandableField<Charge> charge;
2345

2346
      /** The ID of the SetupAttempt that generated this PaymentMethod, if any. */
2347
      @SerializedName("setup_attempt")
2348
      @Getter(lombok.AccessLevel.NONE)
2349
      @Setter(lombok.AccessLevel.NONE)
2350
      ExpandableField<SetupAttempt> setupAttempt;
2351

2352
      /** Get ID of expandable {@code charge} object. */
2353
      public String getCharge() {
2354
        return (this.charge != null) ? this.charge.getId() : null;
×
2355
      }
2356

2357
      public void setCharge(String id) {
2358
        this.charge = ApiResource.setExpandableFieldId(id, this.charge);
×
2359
      }
×
2360

2361
      /** Get expanded {@code charge}. */
2362
      public Charge getChargeObject() {
2363
        return (this.charge != null) ? this.charge.getExpanded() : null;
×
2364
      }
2365

2366
      public void setChargeObject(Charge expandableObject) {
2367
        this.charge = new ExpandableField<Charge>(expandableObject.getId(), expandableObject);
×
2368
      }
×
2369

2370
      /** Get ID of expandable {@code setupAttempt} object. */
2371
      public String getSetupAttempt() {
2372
        return (this.setupAttempt != null) ? this.setupAttempt.getId() : null;
×
2373
      }
2374

2375
      public void setSetupAttempt(String id) {
2376
        this.setupAttempt = ApiResource.setExpandableFieldId(id, this.setupAttempt);
×
2377
      }
×
2378

2379
      /** Get expanded {@code setupAttempt}. */
2380
      public SetupAttempt getSetupAttemptObject() {
2381
        return (this.setupAttempt != null) ? this.setupAttempt.getExpanded() : null;
×
2382
      }
2383

2384
      public void setSetupAttemptObject(SetupAttempt expandableObject) {
2385
        this.setupAttempt =
×
2386
            new ExpandableField<SetupAttempt>(expandableObject.getId(), expandableObject);
×
2387
      }
×
2388
    }
2389
  }
2390

2391
  /**
2392
   * For more details about Shopeepay, please refer to the <a href="https://docs.stripe.com/api">API
2393
   * Reference.</a>
2394
   */
2395
  @Getter
2396
  @Setter
2397
  @EqualsAndHashCode(callSuper = false)
2398
  public static class Shopeepay extends StripeObject {}
×
2399

2400
  /**
2401
   * For more details about Sofort, please refer to the <a href="https://docs.stripe.com/api">API
2402
   * Reference.</a>
2403
   */
2404
  @Getter
2405
  @Setter
2406
  @EqualsAndHashCode(callSuper = false)
2407
  public static class Sofort extends StripeObject {
×
2408
    /** Two-letter ISO code representing the country the bank account is located in. */
2409
    @SerializedName("country")
2410
    String country;
2411
  }
2412

2413
  /**
2414
   * For more details about Swish, please refer to the <a href="https://docs.stripe.com/api">API
2415
   * Reference.</a>
2416
   */
2417
  @Getter
2418
  @Setter
2419
  @EqualsAndHashCode(callSuper = false)
2420
  public static class Swish extends StripeObject {}
×
2421

2422
  /**
2423
   * For more details about Twint, please refer to the <a href="https://docs.stripe.com/api">API
2424
   * Reference.</a>
2425
   */
2426
  @Getter
2427
  @Setter
2428
  @EqualsAndHashCode(callSuper = false)
2429
  public static class Twint extends StripeObject {}
×
2430

2431
  /**
2432
   * For more details about UsBankAccount, please refer to the <a
2433
   * href="https://docs.stripe.com/api">API Reference.</a>
2434
   */
2435
  @Getter
2436
  @Setter
2437
  @EqualsAndHashCode(callSuper = false)
2438
  public static class UsBankAccount extends StripeObject {
×
2439
    /**
2440
     * Account holder type: individual or company.
2441
     *
2442
     * <p>One of {@code company}, or {@code individual}.
2443
     */
2444
    @SerializedName("account_holder_type")
2445
    String accountHolderType;
2446

2447
    /** Account number of the bank account. */
2448
    @SerializedName("account_number")
2449
    String accountNumber;
2450

2451
    /**
2452
     * Account type: checkings or savings. Defaults to checking if omitted.
2453
     *
2454
     * <p>One of {@code checking}, or {@code savings}.
2455
     */
2456
    @SerializedName("account_type")
2457
    String accountType;
2458

2459
    /** The name of the bank. */
2460
    @SerializedName("bank_name")
2461
    String bankName;
2462

2463
    /** The ID of the Financial Connections Account used to create the payment method. */
2464
    @SerializedName("financial_connections_account")
2465
    String financialConnectionsAccount;
2466

2467
    /**
2468
     * Uniquely identifies this particular bank account. You can use this attribute to check whether
2469
     * two bank accounts are the same.
2470
     */
2471
    @SerializedName("fingerprint")
2472
    String fingerprint;
2473

2474
    /** Last four digits of the bank account number. */
2475
    @SerializedName("last4")
2476
    String last4;
2477

2478
    /** Contains information about US bank account networks that can be used. */
2479
    @SerializedName("networks")
2480
    Networks networks;
2481

2482
    /** Routing number of the bank account. */
2483
    @SerializedName("routing_number")
2484
    String routingNumber;
2485

2486
    /** Contains information about the future reusability of this PaymentMethod. */
2487
    @SerializedName("status_details")
2488
    StatusDetails statusDetails;
2489

2490
    /**
2491
     * For more details about Networks, please refer to the <a
2492
     * href="https://docs.stripe.com/api">API Reference.</a>
2493
     */
2494
    @Getter
2495
    @Setter
2496
    @EqualsAndHashCode(callSuper = false)
2497
    public static class Networks extends StripeObject {
×
2498
      /** The preferred network. */
2499
      @SerializedName("preferred")
2500
      String preferred;
2501

2502
      /** All supported networks. */
2503
      @SerializedName("supported")
2504
      List<String> supported;
2505
    }
2506

2507
    /**
2508
     * For more details about StatusDetails, please refer to the <a
2509
     * href="https://docs.stripe.com/api">API Reference.</a>
2510
     */
2511
    @Getter
2512
    @Setter
2513
    @EqualsAndHashCode(callSuper = false)
2514
    public static class StatusDetails extends StripeObject {
×
2515
      @SerializedName("blocked")
2516
      Blocked blocked;
2517

2518
      /**
2519
       * For more details about Blocked, please refer to the <a
2520
       * href="https://docs.stripe.com/api">API Reference.</a>
2521
       */
2522
      @Getter
2523
      @Setter
2524
      @EqualsAndHashCode(callSuper = false)
2525
      public static class Blocked extends StripeObject {
×
2526
        /**
2527
         * The ACH network code that resulted in this block.
2528
         *
2529
         * <p>One of {@code R02}, {@code R03}, {@code R04}, {@code R05}, {@code R07}, {@code R08},
2530
         * {@code R10}, {@code R11}, {@code R16}, {@code R20}, {@code R29}, or {@code R31}.
2531
         */
2532
        @SerializedName("network_code")
2533
        String networkCode;
2534

2535
        /**
2536
         * The reason why this PaymentMethod's fingerprint has been blocked
2537
         *
2538
         * <p>One of {@code bank_account_closed}, {@code bank_account_frozen}, {@code
2539
         * bank_account_invalid_details}, {@code bank_account_restricted}, {@code
2540
         * bank_account_unusable}, or {@code debit_not_authorized}.
2541
         */
2542
        @SerializedName("reason")
2543
        String reason;
2544
      }
2545
    }
2546
  }
2547

2548
  /**
2549
   * For more details about WechatPay, please refer to the <a href="https://docs.stripe.com/api">API
2550
   * Reference.</a>
2551
   */
2552
  @Getter
2553
  @Setter
2554
  @EqualsAndHashCode(callSuper = false)
2555
  public static class WechatPay extends StripeObject {}
×
2556

2557
  /**
2558
   * For more details about Zip, please refer to the <a href="https://docs.stripe.com/api">API
2559
   * Reference.</a>
2560
   */
2561
  @Getter
2562
  @Setter
2563
  @EqualsAndHashCode(callSuper = false)
2564
  public static class Zip extends StripeObject {}
×
2565

2566
  @Override
2567
  public void setResponseGetter(StripeResponseGetter responseGetter) {
2568
    super.setResponseGetter(responseGetter);
1✔
2569
    trySetResponseGetter(acssDebit, responseGetter);
1✔
2570
    trySetResponseGetter(affirm, responseGetter);
1✔
2571
    trySetResponseGetter(afterpayClearpay, responseGetter);
1✔
2572
    trySetResponseGetter(alipay, responseGetter);
1✔
2573
    trySetResponseGetter(alma, responseGetter);
1✔
2574
    trySetResponseGetter(amazonPay, responseGetter);
1✔
2575
    trySetResponseGetter(auBecsDebit, responseGetter);
1✔
2576
    trySetResponseGetter(bacsDebit, responseGetter);
1✔
2577
    trySetResponseGetter(bancontact, responseGetter);
1✔
2578
    trySetResponseGetter(billingDetails, responseGetter);
1✔
2579
    trySetResponseGetter(blik, responseGetter);
1✔
2580
    trySetResponseGetter(boleto, responseGetter);
1✔
2581
    trySetResponseGetter(card, responseGetter);
1✔
2582
    trySetResponseGetter(cardPresent, responseGetter);
1✔
2583
    trySetResponseGetter(cashapp, responseGetter);
1✔
2584
    trySetResponseGetter(customer, responseGetter);
1✔
2585
    trySetResponseGetter(customerBalance, responseGetter);
1✔
2586
    trySetResponseGetter(eps, responseGetter);
1✔
2587
    trySetResponseGetter(fpx, responseGetter);
1✔
2588
    trySetResponseGetter(giropay, responseGetter);
1✔
2589
    trySetResponseGetter(gopay, responseGetter);
1✔
2590
    trySetResponseGetter(grabpay, responseGetter);
1✔
2591
    trySetResponseGetter(idBankTransfer, responseGetter);
1✔
2592
    trySetResponseGetter(ideal, responseGetter);
1✔
2593
    trySetResponseGetter(interacPresent, responseGetter);
1✔
2594
    trySetResponseGetter(kakaoPay, responseGetter);
1✔
2595
    trySetResponseGetter(klarna, responseGetter);
1✔
2596
    trySetResponseGetter(konbini, responseGetter);
1✔
2597
    trySetResponseGetter(krCard, responseGetter);
1✔
2598
    trySetResponseGetter(link, responseGetter);
1✔
2599
    trySetResponseGetter(mbWay, responseGetter);
1✔
2600
    trySetResponseGetter(mobilepay, responseGetter);
1✔
2601
    trySetResponseGetter(multibanco, responseGetter);
1✔
2602
    trySetResponseGetter(naverPay, responseGetter);
1✔
2603
    trySetResponseGetter(oxxo, responseGetter);
1✔
2604
    trySetResponseGetter(p24, responseGetter);
1✔
2605
    trySetResponseGetter(payco, responseGetter);
1✔
2606
    trySetResponseGetter(paynow, responseGetter);
1✔
2607
    trySetResponseGetter(paypal, responseGetter);
1✔
2608
    trySetResponseGetter(payto, responseGetter);
1✔
2609
    trySetResponseGetter(pix, responseGetter);
1✔
2610
    trySetResponseGetter(promptpay, responseGetter);
1✔
2611
    trySetResponseGetter(qris, responseGetter);
1✔
2612
    trySetResponseGetter(radarOptions, responseGetter);
1✔
2613
    trySetResponseGetter(rechnung, responseGetter);
1✔
2614
    trySetResponseGetter(revolutPay, responseGetter);
1✔
2615
    trySetResponseGetter(samsungPay, responseGetter);
1✔
2616
    trySetResponseGetter(sepaDebit, responseGetter);
1✔
2617
    trySetResponseGetter(shopeepay, responseGetter);
1✔
2618
    trySetResponseGetter(sofort, responseGetter);
1✔
2619
    trySetResponseGetter(swish, responseGetter);
1✔
2620
    trySetResponseGetter(twint, responseGetter);
1✔
2621
    trySetResponseGetter(usBankAccount, responseGetter);
1✔
2622
    trySetResponseGetter(wechatPay, responseGetter);
1✔
2623
    trySetResponseGetter(zip, responseGetter);
1✔
2624
  }
1✔
2625
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc