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

stripe / stripe-java / #16517

08 Oct 2024 06:27PM UTC coverage: 12.74% (-0.2%) from 12.899%
#16517

push

github

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

Update generated code for beta

53 of 2404 new or added lines in 50 files covered. (2.2%)

91 existing lines in 27 files now uncovered.

18753 of 147196 relevant lines covered (12.74%)

0.13 hits per line

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

0.0
/src/main/java/com/stripe/model/ConfirmationToken.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.ConfirmationTokenCreateParams;
13
import com.stripe.param.ConfirmationTokenRetrieveParams;
14
import java.util.List;
15
import java.util.Map;
16
import lombok.EqualsAndHashCode;
17
import lombok.Getter;
18
import lombok.Setter;
19

20
/**
21
 * ConfirmationTokens help transport client side data collected by Stripe JS over to your server for
22
 * confirming a PaymentIntent or SetupIntent. If the confirmation is successful, values present on
23
 * the ConfirmationToken are written onto the Intent.
24
 *
25
 * <p>To learn more about how to use ConfirmationToken, visit the related guides: - <a
26
 * href="https://stripe.com/docs/payments/finalize-payments-on-the-server">Finalize payments on the
27
 * server</a> - <a href="https://stripe.com/docs/payments/build-a-two-step-confirmation">Build
28
 * two-step confirmation</a>.
29
 */
30
@Getter
31
@Setter
32
@EqualsAndHashCode(callSuper = false)
33
public class ConfirmationToken extends ApiResource implements HasId {
×
34
  /** Time at which the object was created. Measured in seconds since the Unix epoch. */
35
  @SerializedName("created")
36
  Long created;
37

38
  /**
39
   * Time at which this ConfirmationToken expires and can no longer be used to confirm a
40
   * PaymentIntent or SetupIntent.
41
   */
42
  @SerializedName("expires_at")
43
  Long expiresAt;
44

45
  /** Unique identifier for the object. */
46
  @Getter(onMethod_ = {@Override})
47
  @SerializedName("id")
48
  String id;
49

50
  /**
51
   * Has the value {@code true} if the object exists in live mode or the value {@code false} if the
52
   * object exists in test mode.
53
   */
54
  @SerializedName("livemode")
55
  Boolean livemode;
56

57
  /** Data used for generating a Mandate. */
58
  @SerializedName("mandate_data")
59
  MandateData mandateData;
60

61
  /**
62
   * String representing the object's type. Objects of the same type share the same value.
63
   *
64
   * <p>Equal to {@code confirmation_token}.
65
   */
66
  @SerializedName("object")
67
  String object;
68

69
  /**
70
   * ID of the PaymentIntent that this ConfirmationToken was used to confirm, or null if this
71
   * ConfirmationToken has not yet been used.
72
   */
73
  @SerializedName("payment_intent")
74
  String paymentIntent;
75

76
  /** Payment-method-specific configuration for this ConfirmationToken. */
77
  @SerializedName("payment_method_options")
78
  PaymentMethodOptions paymentMethodOptions;
79

80
  /**
81
   * Payment details collected by the Payment Element, used to create a PaymentMethod when a
82
   * PaymentIntent or SetupIntent is confirmed with this ConfirmationToken.
83
   */
84
  @SerializedName("payment_method_preview")
85
  PaymentMethodPreview paymentMethodPreview;
86

87
  /** Return URL used to confirm the Intent. */
88
  @SerializedName("return_url")
89
  String returnUrl;
90

91
  /**
92
   * Indicates that you intend to make future payments with this ConfirmationToken's payment method.
93
   *
94
   * <p>The presence of this property will <a
95
   * href="https://stripe.com/docs/payments/save-during-payment">attach the payment method</a> to
96
   * the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required
97
   * actions from the user are complete.
98
   *
99
   * <p>One of {@code off_session}, or {@code on_session}.
100
   */
101
  @SerializedName("setup_future_usage")
102
  String setupFutureUsage;
103

104
  /**
105
   * ID of the SetupIntent that this ConfirmationToken was used to confirm, or null if this
106
   * ConfirmationToken has not yet been used.
107
   */
108
  @SerializedName("setup_intent")
109
  String setupIntent;
110

111
  /** Shipping information collected on this ConfirmationToken. */
112
  @SerializedName("shipping")
113
  Shipping shipping;
114

115
  /**
116
   * Indicates whether the Stripe SDK is used to handle confirmation flow. Defaults to {@code true}
117
   * on ConfirmationToken.
118
   */
119
  @SerializedName("use_stripe_sdk")
120
  Boolean useStripeSdk;
121

122
  /** Retrieves an existing ConfirmationToken object. */
123
  public static ConfirmationToken retrieve(String confirmationToken) throws StripeException {
124
    return retrieve(confirmationToken, (Map<String, Object>) null, (RequestOptions) null);
×
125
  }
126

127
  /** Retrieves an existing ConfirmationToken object. */
128
  public static ConfirmationToken retrieve(String confirmationToken, RequestOptions options)
129
      throws StripeException {
130
    return retrieve(confirmationToken, (Map<String, Object>) null, options);
×
131
  }
132

133
  /** Retrieves an existing ConfirmationToken object. */
134
  public static ConfirmationToken retrieve(
135
      String confirmationToken, Map<String, Object> params, RequestOptions options)
136
      throws StripeException {
137
    String path =
×
138
        String.format("/v1/confirmation_tokens/%s", ApiResource.urlEncodeId(confirmationToken));
×
139
    ApiRequest request =
×
140
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
141
    return getGlobalResponseGetter().request(request, ConfirmationToken.class);
×
142
  }
143

144
  /** Retrieves an existing ConfirmationToken object. */
145
  public static ConfirmationToken retrieve(
146
      String confirmationToken, ConfirmationTokenRetrieveParams params, RequestOptions options)
147
      throws StripeException {
148
    String path =
×
149
        String.format("/v1/confirmation_tokens/%s", ApiResource.urlEncodeId(confirmationToken));
×
150
    ApiResource.checkNullTypedParams(path, params);
×
151
    ApiRequest request =
×
152
        new ApiRequest(
153
            BaseAddress.API,
154
            ApiResource.RequestMethod.GET,
155
            path,
156
            ApiRequestParams.paramsToMap(params),
×
157
            options);
158
    return getGlobalResponseGetter().request(request, ConfirmationToken.class);
×
159
  }
160

161
  /** Data used for generating a Mandate. */
162
  @Getter
163
  @Setter
164
  @EqualsAndHashCode(callSuper = false)
165
  public static class MandateData extends StripeObject {
×
166
    /** This hash contains details about the customer acceptance of the Mandate. */
167
    @SerializedName("customer_acceptance")
168
    CustomerAcceptance customerAcceptance;
169

170
    /** This hash contains details about the customer acceptance of the Mandate. */
171
    @Getter
172
    @Setter
173
    @EqualsAndHashCode(callSuper = false)
174
    public static class CustomerAcceptance extends StripeObject {
×
175
      /**
176
       * If this is a Mandate accepted online, this hash contains details about the online
177
       * acceptance.
178
       */
179
      @SerializedName("online")
180
      Online online;
181

182
      /** The type of customer acceptance information included with the Mandate. */
183
      @SerializedName("type")
184
      String type;
185

186
      /** This hash contains details about the online acceptance. */
187
      @Getter
188
      @Setter
189
      @EqualsAndHashCode(callSuper = false)
190
      public static class Online extends StripeObject {
×
191
        /** The IP address from which the Mandate was accepted by the customer. */
192
        @SerializedName("ip_address")
193
        String ipAddress;
194

195
        /** The user agent of the browser from which the Mandate was accepted by the customer. */
196
        @SerializedName("user_agent")
197
        String userAgent;
198
      }
199
    }
200
  }
201

202
  /** Payment-method-specific configuration. */
203
  @Getter
204
  @Setter
205
  @EqualsAndHashCode(callSuper = false)
206
  public static class PaymentMethodOptions extends StripeObject {
×
207
    /** This hash contains the card payment method options. */
208
    @SerializedName("card")
209
    Card card;
210

211
    /** This hash contains the card payment method options. */
212
    @Getter
213
    @Setter
214
    @EqualsAndHashCode(callSuper = false)
215
    public static class Card extends StripeObject {
×
216
      /** The {@code cvc_update} Token collected from the Payment Element. */
217
      @SerializedName("cvc_token")
218
      String cvcToken;
219
    }
220
  }
221

222
  /** Details of the PaymentMethod collected by Payment Element. */
223
  @Getter
224
  @Setter
225
  @EqualsAndHashCode(callSuper = false)
226
  public static class PaymentMethodPreview extends StripeObject {
×
227
    @SerializedName("acss_debit")
228
    AcssDebit acssDebit;
229

230
    @SerializedName("affirm")
231
    Affirm affirm;
232

233
    @SerializedName("afterpay_clearpay")
234
    AfterpayClearpay afterpayClearpay;
235

236
    @SerializedName("alipay")
237
    Alipay alipay;
238

239
    /**
240
     * This field indicates whether this payment method can be shown again to its customer in a
241
     * checkout flow. Stripe products such as Checkout and Elements use this field to determine
242
     * whether a payment method can be shown as a saved payment method in a checkout flow. The field
243
     * defaults to “unspecified”.
244
     *
245
     * <p>One of {@code always}, {@code limited}, or {@code unspecified}.
246
     */
247
    @SerializedName("allow_redisplay")
248
    String allowRedisplay;
249

250
    @SerializedName("amazon_pay")
251
    AmazonPay amazonPay;
252

253
    @SerializedName("au_becs_debit")
254
    AuBecsDebit auBecsDebit;
255

256
    @SerializedName("bacs_debit")
257
    BacsDebit bacsDebit;
258

259
    @SerializedName("bancontact")
260
    Bancontact bancontact;
261

262
    @SerializedName("billing_details")
263
    BillingDetails billingDetails;
264

265
    @SerializedName("blik")
266
    Blik blik;
267

268
    @SerializedName("boleto")
269
    Boleto boleto;
270

271
    @SerializedName("card")
272
    Card card;
273

274
    @SerializedName("card_present")
275
    CardPresent cardPresent;
276

277
    @SerializedName("cashapp")
278
    Cashapp cashapp;
279

280
    /**
281
     * The ID of the Customer to which this PaymentMethod is saved. This will not be set when the
282
     * PaymentMethod has not been saved to a Customer.
283
     */
284
    @SerializedName("customer")
285
    @Getter(lombok.AccessLevel.NONE)
286
    @Setter(lombok.AccessLevel.NONE)
287
    ExpandableField<Customer> customer;
288

289
    @SerializedName("customer_balance")
290
    CustomerBalance customerBalance;
291

292
    @SerializedName("eps")
293
    Eps eps;
294

295
    @SerializedName("fpx")
296
    Fpx fpx;
297

298
    @SerializedName("giropay")
299
    Giropay giropay;
300

301
    @SerializedName("grabpay")
302
    Grabpay grabpay;
303

304
    @SerializedName("ideal")
305
    Ideal ideal;
306

307
    @SerializedName("interac_present")
308
    InteracPresent interacPresent;
309

310
    @SerializedName("kakao_pay")
311
    KakaoPay kakaoPay;
312

313
    @SerializedName("klarna")
314
    Klarna klarna;
315

316
    @SerializedName("konbini")
317
    Konbini konbini;
318

319
    @SerializedName("kr_card")
320
    KrCard krCard;
321

322
    @SerializedName("link")
323
    Link link;
324

325
    @SerializedName("mb_way")
326
    MbWay mbWay;
327

328
    @SerializedName("mobilepay")
329
    Mobilepay mobilepay;
330

331
    @SerializedName("multibanco")
332
    Multibanco multibanco;
333

334
    @SerializedName("naver_pay")
335
    NaverPay naverPay;
336

337
    @SerializedName("oxxo")
338
    Oxxo oxxo;
339

340
    @SerializedName("p24")
341
    P24 p24;
342

343
    @SerializedName("payco")
344
    Payco payco;
345

346
    @SerializedName("paynow")
347
    Paynow paynow;
348

349
    @SerializedName("paypal")
350
    Paypal paypal;
351

352
    @SerializedName("payto")
353
    Payto payto;
354

355
    @SerializedName("pix")
356
    Pix pix;
357

358
    @SerializedName("promptpay")
359
    Promptpay promptpay;
360

361
    @SerializedName("rechnung")
362
    Rechnung rechnung;
363

364
    @SerializedName("revolut_pay")
365
    RevolutPay revolutPay;
366

367
    @SerializedName("samsung_pay")
368
    SamsungPay samsungPay;
369

370
    @SerializedName("sepa_debit")
371
    SepaDebit sepaDebit;
372

373
    @SerializedName("sofort")
374
    Sofort sofort;
375

376
    @SerializedName("swish")
377
    Swish swish;
378

379
    @SerializedName("twint")
380
    Twint twint;
381

382
    /**
383
     * The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a
384
     * name matching this value. It contains additional information specific to the PaymentMethod
385
     * type.
386
     *
387
     * <p>One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay},
388
     * {@code amazon_pay}, {@code au_becs_debit}, {@code bacs_debit}, {@code bancontact}, {@code
389
     * blik}, {@code boleto}, {@code card}, {@code card_present}, {@code cashapp}, {@code
390
     * customer_balance}, {@code eps}, {@code fpx}, {@code giropay}, {@code grabpay}, {@code ideal},
391
     * {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code kr_card},
392
     * {@code link}, {@code mb_way}, {@code mobilepay}, {@code multibanco}, {@code naver_pay},
393
     * {@code oxxo}, {@code p24}, {@code payco}, {@code paynow}, {@code paypal}, {@code payto},
394
     * {@code pix}, {@code promptpay}, {@code rechnung}, {@code revolut_pay}, {@code samsung_pay},
395
     * {@code sepa_debit}, {@code sofort}, {@code swish}, {@code twint}, {@code us_bank_account},
396
     * {@code wechat_pay}, or {@code zip}.
397
     */
398
    @SerializedName("type")
399
    String type;
400

401
    @SerializedName("us_bank_account")
402
    UsBankAccount usBankAccount;
403

404
    @SerializedName("wechat_pay")
405
    WechatPay wechatPay;
406

407
    @SerializedName("zip")
408
    Zip zip;
409

410
    /** Get ID of expandable {@code customer} object. */
411
    public String getCustomer() {
412
      return (this.customer != null) ? this.customer.getId() : null;
×
413
    }
414

415
    public void setCustomer(String id) {
416
      this.customer = ApiResource.setExpandableFieldId(id, this.customer);
×
417
    }
×
418

419
    /** Get expanded {@code customer}. */
420
    public Customer getCustomerObject() {
421
      return (this.customer != null) ? this.customer.getExpanded() : null;
×
422
    }
423

424
    public void setCustomerObject(Customer expandableObject) {
425
      this.customer = new ExpandableField<Customer>(expandableObject.getId(), expandableObject);
×
426
    }
×
427

428
    @Getter
429
    @Setter
430
    @EqualsAndHashCode(callSuper = false)
431
    public static class AcssDebit extends StripeObject {
×
432
      /** Name of the bank associated with the bank account. */
433
      @SerializedName("bank_name")
434
      String bankName;
435

436
      /**
437
       * Uniquely identifies this particular bank account. You can use this attribute to check
438
       * whether two bank accounts are the same.
439
       */
440
      @SerializedName("fingerprint")
441
      String fingerprint;
442

443
      /** Institution number of the bank account. */
444
      @SerializedName("institution_number")
445
      String institutionNumber;
446

447
      /** Last four digits of the bank account number. */
448
      @SerializedName("last4")
449
      String last4;
450

451
      /** Transit number of the bank account. */
452
      @SerializedName("transit_number")
453
      String transitNumber;
454
    }
455

456
    @Getter
457
    @Setter
458
    @EqualsAndHashCode(callSuper = false)
459
    public static class Affirm extends StripeObject {}
×
460

461
    @Getter
462
    @Setter
463
    @EqualsAndHashCode(callSuper = false)
464
    public static class AfterpayClearpay extends StripeObject {}
×
465

466
    @Getter
467
    @Setter
468
    @EqualsAndHashCode(callSuper = false)
469
    public static class Alipay extends StripeObject {}
×
470

471
    @Getter
472
    @Setter
473
    @EqualsAndHashCode(callSuper = false)
474
    public static class AmazonPay extends StripeObject {}
×
475

476
    @Getter
477
    @Setter
478
    @EqualsAndHashCode(callSuper = false)
479
    public static class AuBecsDebit extends StripeObject {
×
480
      /** Six-digit number identifying bank and branch associated with this bank account. */
481
      @SerializedName("bsb_number")
482
      String bsbNumber;
483

484
      /**
485
       * Uniquely identifies this particular bank account. You can use this attribute to check
486
       * whether two bank accounts are the same.
487
       */
488
      @SerializedName("fingerprint")
489
      String fingerprint;
490

491
      /** Last four digits of the bank account number. */
492
      @SerializedName("last4")
493
      String last4;
494
    }
495

496
    @Getter
497
    @Setter
498
    @EqualsAndHashCode(callSuper = false)
499
    public static class BacsDebit extends StripeObject {
×
500
      /**
501
       * Uniquely identifies this particular bank account. You can use this attribute to check
502
       * whether two bank accounts are the same.
503
       */
504
      @SerializedName("fingerprint")
505
      String fingerprint;
506

507
      /** Last four digits of the bank account number. */
508
      @SerializedName("last4")
509
      String last4;
510

511
      /** Sort code of the bank account. (e.g., {@code 10-20-30}) */
512
      @SerializedName("sort_code")
513
      String sortCode;
514
    }
515

516
    @Getter
517
    @Setter
518
    @EqualsAndHashCode(callSuper = false)
519
    public static class Bancontact extends StripeObject {}
×
520

521
    @Getter
522
    @Setter
523
    @EqualsAndHashCode(callSuper = false)
524
    public static class BillingDetails extends StripeObject {
×
525
      /** Billing address. */
526
      @SerializedName("address")
527
      Address address;
528

529
      /** Email address. */
530
      @SerializedName("email")
531
      String email;
532

533
      /** Full name. */
534
      @SerializedName("name")
535
      String name;
536

537
      /** Billing phone number (including extension). */
538
      @SerializedName("phone")
539
      String phone;
540
    }
541

542
    @Getter
543
    @Setter
544
    @EqualsAndHashCode(callSuper = false)
545
    public static class Blik extends StripeObject {}
×
546

547
    @Getter
548
    @Setter
549
    @EqualsAndHashCode(callSuper = false)
550
    public static class Boleto extends StripeObject {
×
551
      /** Uniquely identifies the customer tax id (CNPJ or CPF). */
552
      @SerializedName("tax_id")
553
      String taxId;
554
    }
555

556
    @Getter
557
    @Setter
558
    @EqualsAndHashCode(callSuper = false)
559
    public static class Card extends StripeObject {
×
560
      /**
561
       * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au},
562
       * {@code jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code unknown}.
563
       */
564
      @SerializedName("brand")
565
      String brand;
566

567
      /** Checks on Card address and CVC if provided. */
568
      @SerializedName("checks")
569
      Checks checks;
570

571
      /**
572
       * Two-letter ISO code representing the country of the card. You could use this attribute to
573
       * get a sense of the international breakdown of cards you've collected.
574
       */
575
      @SerializedName("country")
576
      String country;
577

578
      /**
579
       * A high-level description of the type of cards issued in this range. (For internal use only
580
       * and not typically available in standard API requests.)
581
       */
582
      @SerializedName("description")
583
      String description;
584

585
      /**
586
       * The brand to use when displaying the card, this accounts for customer's brand choice on
587
       * dual-branded cards. Can be {@code american_express}, {@code cartes_bancaires}, {@code
588
       * diners_club}, {@code discover}, {@code eftpos_australia}, {@code interac}, {@code jcb},
589
       * {@code mastercard}, {@code union_pay}, {@code visa}, or {@code other} and may contain more
590
       * values in the future.
591
       */
592
      @SerializedName("display_brand")
593
      String displayBrand;
594

595
      /** Two-digit number representing the card's expiration month. */
596
      @SerializedName("exp_month")
597
      Long expMonth;
598

599
      /** Four-digit number representing the card's expiration year. */
600
      @SerializedName("exp_year")
601
      Long expYear;
602

603
      /**
604
       * Uniquely identifies this particular card number. You can use this attribute to check
605
       * whether two customers who’ve signed up with you are using the same card number, for
606
       * example. For payment methods that tokenize card information (Apple Pay, Google Pay), the
607
       * tokenized number might be provided instead of the underlying card number.
608
       *
609
       * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
610
       * fingerprints for the same card---one for India and one for the rest of the world.</em>
611
       */
612
      @SerializedName("fingerprint")
613
      String fingerprint;
614

615
      /**
616
       * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
617
       * unknown}.
618
       */
619
      @SerializedName("funding")
620
      String funding;
621

622
      /** Details of the original PaymentMethod that created this object. */
623
      @SerializedName("generated_from")
624
      GeneratedFrom generatedFrom;
625

626
      /**
627
       * Issuer identification number of the card. (For internal use only and not typically
628
       * available in standard API requests.)
629
       */
630
      @SerializedName("iin")
631
      String iin;
632

633
      /**
634
       * The name of the card's issuing bank. (For internal use only and not typically available in
635
       * standard API requests.)
636
       */
637
      @SerializedName("issuer")
638
      String issuer;
639

640
      /** The last four digits of the card. */
641
      @SerializedName("last4")
642
      String last4;
643

644
      /** Contains information about card networks that can be used to process the payment. */
645
      @SerializedName("networks")
646
      Networks networks;
647

648
      /** Contains details on how this Card may be used for 3D Secure authentication. */
649
      @SerializedName("three_d_secure_usage")
650
      ThreeDSecureUsage threeDSecureUsage;
651

652
      /** If this Card is part of a card wallet, this contains the details of the card wallet. */
653
      @SerializedName("wallet")
654
      Wallet wallet;
655

656
      @Getter
657
      @Setter
658
      @EqualsAndHashCode(callSuper = false)
659
      public static class Checks extends StripeObject {
×
660
        /**
661
         * If a address line1 was provided, results of the check, one of {@code pass}, {@code fail},
662
         * {@code unavailable}, or {@code unchecked}.
663
         */
664
        @SerializedName("address_line1_check")
665
        String addressLine1Check;
666

667
        /**
668
         * If a address postal code was provided, results of the check, one of {@code pass}, {@code
669
         * fail}, {@code unavailable}, or {@code unchecked}.
670
         */
671
        @SerializedName("address_postal_code_check")
672
        String addressPostalCodeCheck;
673

674
        /**
675
         * If a CVC was provided, results of the check, one of {@code pass}, {@code fail}, {@code
676
         * unavailable}, or {@code unchecked}.
677
         */
678
        @SerializedName("cvc_check")
679
        String cvcCheck;
680
      }
681

682
      @Getter
683
      @Setter
684
      @EqualsAndHashCode(callSuper = false)
685
      public static class GeneratedFrom extends StripeObject {
×
686
        /** The charge that created this object. */
687
        @SerializedName("charge")
688
        String charge;
689

690
        /** Transaction-specific details of the payment method used in the payment. */
691
        @SerializedName("payment_method_details")
692
        PaymentMethodDetails paymentMethodDetails;
693

694
        /** The ID of the SetupAttempt that generated this PaymentMethod, if any. */
695
        @SerializedName("setup_attempt")
696
        @Getter(lombok.AccessLevel.NONE)
697
        @Setter(lombok.AccessLevel.NONE)
698
        ExpandableField<SetupAttempt> setupAttempt;
699

700
        /** Get ID of expandable {@code setupAttempt} object. */
701
        public String getSetupAttempt() {
702
          return (this.setupAttempt != null) ? this.setupAttempt.getId() : null;
×
703
        }
704

705
        public void setSetupAttempt(String id) {
706
          this.setupAttempt = ApiResource.setExpandableFieldId(id, this.setupAttempt);
×
707
        }
×
708

709
        /** Get expanded {@code setupAttempt}. */
710
        public SetupAttempt getSetupAttemptObject() {
711
          return (this.setupAttempt != null) ? this.setupAttempt.getExpanded() : null;
×
712
        }
713

714
        public void setSetupAttemptObject(SetupAttempt expandableObject) {
715
          this.setupAttempt =
×
716
              new ExpandableField<SetupAttempt>(expandableObject.getId(), expandableObject);
×
717
        }
×
718

719
        @Getter
720
        @Setter
721
        @EqualsAndHashCode(callSuper = false)
722
        public static class PaymentMethodDetails extends StripeObject {
×
723
          @SerializedName("card_present")
724
          CardPresent cardPresent;
725

726
          /**
727
           * The type of payment method transaction-specific details from the transaction that
728
           * generated this {@code card} payment method. Always {@code card_present}.
729
           */
730
          @SerializedName("type")
731
          String type;
732

733
          @Getter
734
          @Setter
735
          @EqualsAndHashCode(callSuper = false)
736
          public static class CardPresent extends StripeObject {
×
737
            /** The authorized amount. */
738
            @SerializedName("amount_authorized")
739
            Long amountAuthorized;
740

741
            /**
742
             * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au},
743
             * {@code jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code unknown}.
744
             */
745
            @SerializedName("brand")
746
            String brand;
747

748
            /**
749
             * The <a href="https://stripe.com/docs/card-product-codes">product code</a> that
750
             * identifies the specific program or product associated with a card.
751
             */
752
            @SerializedName("brand_product")
753
            String brandProduct;
754

755
            /**
756
             * When using manual capture, a future timestamp after which the charge will be
757
             * automatically refunded if uncaptured.
758
             */
759
            @SerializedName("capture_before")
760
            Long captureBefore;
761

762
            /**
763
             * The cardholder name as read from the card, in <a
764
             * href="https://en.wikipedia.org/wiki/ISO/IEC_7813">ISO 7813</a> format. May include
765
             * alphanumeric characters, special characters and first/last name separator ({@code
766
             * /}). In some cases, the cardholder name may not be available depending on how the
767
             * issuer has configured the card. Cardholder name is typically not available on swipe
768
             * or contactless payments, such as those made with Apple Pay and Google Pay.
769
             */
770
            @SerializedName("cardholder_name")
771
            String cardholderName;
772

773
            /**
774
             * Two-letter ISO code representing the country of the card. You could use this
775
             * attribute to get a sense of the international breakdown of cards you've collected.
776
             */
777
            @SerializedName("country")
778
            String country;
779

780
            /**
781
             * A high-level description of the type of cards issued in this range. (For internal use
782
             * only and not typically available in standard API requests.)
783
             */
784
            @SerializedName("description")
785
            String description;
786

787
            /** Authorization response cryptogram. */
788
            @SerializedName("emv_auth_data")
789
            String emvAuthData;
790

791
            /** Two-digit number representing the card's expiration month. */
792
            @SerializedName("exp_month")
793
            Long expMonth;
794

795
            /** Four-digit number representing the card's expiration year. */
796
            @SerializedName("exp_year")
797
            Long expYear;
798

799
            /**
800
             * Uniquely identifies this particular card number. You can use this attribute to check
801
             * whether two customers who’ve signed up with you are using the same card number, for
802
             * example. For payment methods that tokenize card information (Apple Pay, Google Pay),
803
             * the tokenized number might be provided instead of the underlying card number.
804
             *
805
             * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
806
             * fingerprints for the same card---one for India and one for the rest of the
807
             * world.</em>
808
             */
809
            @SerializedName("fingerprint")
810
            String fingerprint;
811

812
            /**
813
             * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
814
             * unknown}.
815
             */
816
            @SerializedName("funding")
817
            String funding;
818

819
            /**
820
             * ID of a card PaymentMethod generated from the card_present PaymentMethod that may be
821
             * attached to a Customer for future transactions. Only present if it was possible to
822
             * generate a card PaymentMethod.
823
             */
824
            @SerializedName("generated_card")
825
            String generatedCard;
826

827
            /**
828
             * Issuer identification number of the card. (For internal use only and not typically
829
             * available in standard API requests.)
830
             */
831
            @SerializedName("iin")
832
            String iin;
833

834
            /**
835
             * Whether this <a href="https://stripe.com/docs/api/payment_intents">PaymentIntent</a>
836
             * is eligible for incremental authorizations. Request support using <a
837
             * 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>.
838
             */
839
            @SerializedName("incremental_authorization_supported")
840
            Boolean incrementalAuthorizationSupported;
841

842
            /**
843
             * The name of the card's issuing bank. (For internal use only and not typically
844
             * available in standard API requests.)
845
             */
846
            @SerializedName("issuer")
847
            String issuer;
848

849
            /** The last four digits of the card. */
850
            @SerializedName("last4")
851
            String last4;
852

853
            /**
854
             * Identifies which network this charge was processed on. Can be {@code amex}, {@code
855
             * cartes_bancaires}, {@code diners}, {@code discover}, {@code eftpos_au}, {@code
856
             * interac}, {@code jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code
857
             * unknown}.
858
             */
859
            @SerializedName("network")
860
            String network;
861

862
            /**
863
             * This is used by the financial networks to identify a transaction. Visa calls this the
864
             * Transaction ID, Mastercard calls this the Trace ID, and American Express calls this
865
             * the Acquirer Reference Data. The first three digits of the Trace ID is the Financial
866
             * Network Code, the next 6 digits is the Banknet Reference Number, and the last 4
867
             * digits represent the date (MM/DD). This field will be available for successful Visa,
868
             * Mastercard, or American Express transactions and always null for other card brands.
869
             */
870
            @SerializedName("network_transaction_id")
871
            String networkTransactionId;
872

873
            /** Details about payments collected offline. */
874
            @SerializedName("offline")
875
            Offline offline;
876

877
            /** Defines whether the authorized amount can be over-captured or not. */
878
            @SerializedName("overcapture_supported")
879
            Boolean overcaptureSupported;
880

881
            /** EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
882
            @SerializedName("preferred_locales")
883
            List<String> preferredLocales;
884

885
            /**
886
             * How card details were read in this transaction.
887
             *
888
             * <p>One of {@code contact_emv}, {@code contactless_emv}, {@code
889
             * contactless_magstripe_mode}, {@code magnetic_stripe_fallback}, or {@code
890
             * magnetic_stripe_track2}.
891
             */
892
            @SerializedName("read_method")
893
            String readMethod;
894

895
            /**
896
             * A collection of fields required to be displayed on receipts. Only required for EMV
897
             * transactions.
898
             */
899
            @SerializedName("receipt")
900
            Receipt receipt;
901

902
            @SerializedName("wallet")
903
            Wallet wallet;
904

905
            @Getter
906
            @Setter
907
            @EqualsAndHashCode(callSuper = false)
908
            public static class Offline extends StripeObject {
×
909
              /** Time at which the payment was collected while offline. */
910
              @SerializedName("stored_at")
911
              Long storedAt;
912

913
              /**
914
               * The method used to process this payment method offline. Only deferred is allowed.
915
               *
916
               * <p>Equal to {@code deferred}.
917
               */
918
              @SerializedName("type")
919
              String type;
920
            }
921

922
            @Getter
923
            @Setter
924
            @EqualsAndHashCode(callSuper = false)
925
            public static class Receipt extends StripeObject {
×
926
              /**
927
               * The type of account being debited or credited
928
               *
929
               * <p>One of {@code checking}, {@code credit}, {@code prepaid}, or {@code unknown}.
930
               */
931
              @SerializedName("account_type")
932
              String accountType;
933

934
              /** EMV tag 9F26, cryptogram generated by the integrated circuit chip. */
935
              @SerializedName("application_cryptogram")
936
              String applicationCryptogram;
937

938
              /** Mnenomic of the Application Identifier. */
939
              @SerializedName("application_preferred_name")
940
              String applicationPreferredName;
941

942
              /** Identifier for this transaction. */
943
              @SerializedName("authorization_code")
944
              String authorizationCode;
945

946
              /** EMV tag 8A. A code returned by the card issuer. */
947
              @SerializedName("authorization_response_code")
948
              String authorizationResponseCode;
949

950
              /**
951
               * Describes the method used by the cardholder to verify ownership of the card. One of
952
               * the following: {@code approval}, {@code failure}, {@code none}, {@code
953
               * offline_pin}, {@code offline_pin_and_signature}, {@code online_pin}, or {@code
954
               * signature}.
955
               */
956
              @SerializedName("cardholder_verification_method")
957
              String cardholderVerificationMethod;
958

959
              /**
960
               * EMV tag 84. Similar to the application identifier stored on the integrated circuit
961
               * chip.
962
               */
963
              @SerializedName("dedicated_file_name")
964
              String dedicatedFileName;
965

966
              /** The outcome of a series of EMV functions performed by the card reader. */
967
              @SerializedName("terminal_verification_results")
968
              String terminalVerificationResults;
969

970
              /** An indication of various EMV functions performed during the transaction. */
971
              @SerializedName("transaction_status_information")
972
              String transactionStatusInformation;
973
            }
974

975
            @Getter
976
            @Setter
977
            @EqualsAndHashCode(callSuper = false)
978
            public static class Wallet extends StripeObject {
×
979
              /**
980
               * The type of mobile wallet, one of {@code apple_pay}, {@code google_pay}, {@code
981
               * samsung_pay}, or {@code unknown}.
982
               */
983
              @SerializedName("type")
984
              String type;
985
            }
986
          }
987
        }
988
      }
989

990
      @Getter
991
      @Setter
992
      @EqualsAndHashCode(callSuper = false)
993
      public static class Networks extends StripeObject {
×
994
        /** All available networks for the card. */
995
        @SerializedName("available")
996
        List<String> available;
997

998
        /**
999
         * The preferred network for co-branded cards. Can be {@code cartes_bancaires}, {@code
1000
         * mastercard}, {@code visa} or {@code invalid_preference} if requested network is not valid
1001
         * for the card.
1002
         */
1003
        @SerializedName("preferred")
1004
        String preferred;
1005
      }
1006

1007
      @Getter
1008
      @Setter
1009
      @EqualsAndHashCode(callSuper = false)
1010
      public static class ThreeDSecureUsage extends StripeObject {
×
1011
        /** Whether 3D Secure is supported on this card. */
1012
        @SerializedName("supported")
1013
        Boolean supported;
1014
      }
1015

1016
      @Getter
1017
      @Setter
1018
      @EqualsAndHashCode(callSuper = false)
1019
      public static class Wallet extends StripeObject {
×
1020
        @SerializedName("amex_express_checkout")
1021
        AmexExpressCheckout amexExpressCheckout;
1022

1023
        @SerializedName("apple_pay")
1024
        ApplePay applePay;
1025

1026
        /** (For tokenized numbers only.) The last four digits of the device account number. */
1027
        @SerializedName("dynamic_last4")
1028
        String dynamicLast4;
1029

1030
        @SerializedName("google_pay")
1031
        GooglePay googlePay;
1032

1033
        @SerializedName("link")
1034
        Link link;
1035

1036
        @SerializedName("masterpass")
1037
        Masterpass masterpass;
1038

1039
        @SerializedName("samsung_pay")
1040
        SamsungPay samsungPay;
1041

1042
        /**
1043
         * The type of the card wallet, one of {@code amex_express_checkout}, {@code apple_pay},
1044
         * {@code google_pay}, {@code masterpass}, {@code samsung_pay}, {@code visa_checkout}, or
1045
         * {@code link}. An additional hash is included on the Wallet subhash with a name matching
1046
         * this value. It contains additional information specific to the card wallet type.
1047
         */
1048
        @SerializedName("type")
1049
        String type;
1050

1051
        @SerializedName("visa_checkout")
1052
        VisaCheckout visaCheckout;
1053

1054
        @Getter
1055
        @Setter
1056
        @EqualsAndHashCode(callSuper = false)
1057
        public static class AmexExpressCheckout extends StripeObject {}
×
1058

1059
        @Getter
1060
        @Setter
1061
        @EqualsAndHashCode(callSuper = false)
1062
        public static class ApplePay extends StripeObject {}
×
1063

1064
        @Getter
1065
        @Setter
1066
        @EqualsAndHashCode(callSuper = false)
1067
        public static class GooglePay extends StripeObject {}
×
1068

1069
        @Getter
1070
        @Setter
1071
        @EqualsAndHashCode(callSuper = false)
1072
        public static class Link extends StripeObject {}
×
1073

1074
        @Getter
1075
        @Setter
1076
        @EqualsAndHashCode(callSuper = false)
1077
        public static class Masterpass extends StripeObject {
×
1078
          /**
1079
           * Owner's verified billing address. Values are verified or provided by the wallet
1080
           * directly (if supported) at the time of authorization or settlement. They cannot be set
1081
           * or mutated.
1082
           */
1083
          @SerializedName("billing_address")
1084
          Address billingAddress;
1085

1086
          /**
1087
           * Owner's verified email. Values are verified or provided by the wallet directly (if
1088
           * supported) at the time of authorization or settlement. They cannot be set or mutated.
1089
           */
1090
          @SerializedName("email")
1091
          String email;
1092

1093
          /**
1094
           * Owner's verified full name. Values are verified or provided by the wallet directly (if
1095
           * supported) at the time of authorization or settlement. They cannot be set or mutated.
1096
           */
1097
          @SerializedName("name")
1098
          String name;
1099

1100
          /**
1101
           * Owner's verified shipping address. Values are verified or provided by the wallet
1102
           * directly (if supported) at the time of authorization or settlement. They cannot be set
1103
           * or mutated.
1104
           */
1105
          @SerializedName("shipping_address")
1106
          Address shippingAddress;
1107
        }
1108

1109
        @Getter
1110
        @Setter
1111
        @EqualsAndHashCode(callSuper = false)
1112
        public static class SamsungPay extends StripeObject {}
×
1113

1114
        @Getter
1115
        @Setter
1116
        @EqualsAndHashCode(callSuper = false)
1117
        public static class VisaCheckout extends StripeObject {
×
1118
          /**
1119
           * Owner's verified billing address. Values are verified or provided by the wallet
1120
           * directly (if supported) at the time of authorization or settlement. They cannot be set
1121
           * or mutated.
1122
           */
1123
          @SerializedName("billing_address")
1124
          Address billingAddress;
1125

1126
          /**
1127
           * Owner's verified email. Values are verified or provided by the wallet directly (if
1128
           * supported) at the time of authorization or settlement. They cannot be set or mutated.
1129
           */
1130
          @SerializedName("email")
1131
          String email;
1132

1133
          /**
1134
           * Owner's verified full name. Values are verified or provided by the wallet directly (if
1135
           * supported) at the time of authorization or settlement. They cannot be set or mutated.
1136
           */
1137
          @SerializedName("name")
1138
          String name;
1139

1140
          /**
1141
           * Owner's verified shipping address. Values are verified or provided by the wallet
1142
           * directly (if supported) at the time of authorization or settlement. They cannot be set
1143
           * or mutated.
1144
           */
1145
          @SerializedName("shipping_address")
1146
          Address shippingAddress;
1147
        }
1148
      }
1149
    }
1150

1151
    @Getter
1152
    @Setter
1153
    @EqualsAndHashCode(callSuper = false)
1154
    public static class CardPresent extends StripeObject {
×
1155
      /**
1156
       * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au},
1157
       * {@code jcb}, {@code mastercard}, {@code unionpay}, {@code visa}, or {@code unknown}.
1158
       */
1159
      @SerializedName("brand")
1160
      String brand;
1161

1162
      /**
1163
       * The <a href="https://stripe.com/docs/card-product-codes">product code</a> that identifies
1164
       * the specific program or product associated with a card.
1165
       */
1166
      @SerializedName("brand_product")
1167
      String brandProduct;
1168

1169
      /**
1170
       * The cardholder name as read from the card, in <a
1171
       * href="https://en.wikipedia.org/wiki/ISO/IEC_7813">ISO 7813</a> format. May include
1172
       * alphanumeric characters, special characters and first/last name separator ({@code /}). In
1173
       * some cases, the cardholder name may not be available depending on how the issuer has
1174
       * configured the card. Cardholder name is typically not available on swipe or contactless
1175
       * payments, such as those made with Apple Pay and Google Pay.
1176
       */
1177
      @SerializedName("cardholder_name")
1178
      String cardholderName;
1179

1180
      /**
1181
       * Two-letter ISO code representing the country of the card. You could use this attribute to
1182
       * get a sense of the international breakdown of cards you've collected.
1183
       */
1184
      @SerializedName("country")
1185
      String country;
1186

1187
      /**
1188
       * A high-level description of the type of cards issued in this range. (For internal use only
1189
       * and not typically available in standard API requests.)
1190
       */
1191
      @SerializedName("description")
1192
      String description;
1193

1194
      /** Two-digit number representing the card's expiration month. */
1195
      @SerializedName("exp_month")
1196
      Long expMonth;
1197

1198
      /** Four-digit number representing the card's expiration year. */
1199
      @SerializedName("exp_year")
1200
      Long expYear;
1201

1202
      /**
1203
       * Uniquely identifies this particular card number. You can use this attribute to check
1204
       * whether two customers who’ve signed up with you are using the same card number, for
1205
       * example. For payment methods that tokenize card information (Apple Pay, Google Pay), the
1206
       * tokenized number might be provided instead of the underlying card number.
1207
       *
1208
       * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
1209
       * fingerprints for the same card---one for India and one for the rest of the world.</em>
1210
       */
1211
      @SerializedName("fingerprint")
1212
      String fingerprint;
1213

1214
      /**
1215
       * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
1216
       * unknown}.
1217
       */
1218
      @SerializedName("funding")
1219
      String funding;
1220

1221
      /**
1222
       * Issuer identification number of the card. (For internal use only and not typically
1223
       * available in standard API requests.)
1224
       */
1225
      @SerializedName("iin")
1226
      String iin;
1227

1228
      /**
1229
       * The name of the card's issuing bank. (For internal use only and not typically available in
1230
       * standard API requests.)
1231
       */
1232
      @SerializedName("issuer")
1233
      String issuer;
1234

1235
      /** The last four digits of the card. */
1236
      @SerializedName("last4")
1237
      String last4;
1238

1239
      /** Contains information about card networks that can be used to process the payment. */
1240
      @SerializedName("networks")
1241
      Networks networks;
1242

1243
      /** Details about payment methods collected offline. */
1244
      @SerializedName("offline")
1245
      Offline offline;
1246

1247
      /** EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
1248
      @SerializedName("preferred_locales")
1249
      List<String> preferredLocales;
1250

1251
      /**
1252
       * How card details were read in this transaction.
1253
       *
1254
       * <p>One of {@code contact_emv}, {@code contactless_emv}, {@code contactless_magstripe_mode},
1255
       * {@code magnetic_stripe_fallback}, or {@code magnetic_stripe_track2}.
1256
       */
1257
      @SerializedName("read_method")
1258
      String readMethod;
1259

1260
      @SerializedName("wallet")
1261
      Wallet wallet;
1262

1263
      @Getter
1264
      @Setter
1265
      @EqualsAndHashCode(callSuper = false)
1266
      public static class Networks extends StripeObject {
×
1267
        /** All available networks for the card. */
1268
        @SerializedName("available")
1269
        List<String> available;
1270

1271
        /** The preferred network for the card. */
1272
        @SerializedName("preferred")
1273
        String preferred;
1274
      }
1275

1276
      @Getter
1277
      @Setter
1278
      @EqualsAndHashCode(callSuper = false)
1279
      public static class Offline extends StripeObject {
×
1280
        /** Time at which the payment was collected while offline. */
1281
        @SerializedName("stored_at")
1282
        Long storedAt;
1283

1284
        /**
1285
         * The method used to process this payment method offline. Only deferred is allowed.
1286
         *
1287
         * <p>Equal to {@code deferred}.
1288
         */
1289
        @SerializedName("type")
1290
        String type;
1291
      }
1292

1293
      @Getter
1294
      @Setter
1295
      @EqualsAndHashCode(callSuper = false)
1296
      public static class Wallet extends StripeObject {
×
1297
        /**
1298
         * The type of mobile wallet, one of {@code apple_pay}, {@code google_pay}, {@code
1299
         * samsung_pay}, or {@code unknown}.
1300
         */
1301
        @SerializedName("type")
1302
        String type;
1303
      }
1304
    }
1305

1306
    @Getter
1307
    @Setter
1308
    @EqualsAndHashCode(callSuper = false)
1309
    public static class Cashapp extends StripeObject {
×
1310
      /** A unique and immutable identifier assigned by Cash App to every buyer. */
1311
      @SerializedName("buyer_id")
1312
      String buyerId;
1313

1314
      /** A public identifier for buyers using Cash App. */
1315
      @SerializedName("cashtag")
1316
      String cashtag;
1317
    }
1318

1319
    @Getter
1320
    @Setter
1321
    @EqualsAndHashCode(callSuper = false)
1322
    public static class CustomerBalance extends StripeObject {}
×
1323

1324
    @Getter
1325
    @Setter
1326
    @EqualsAndHashCode(callSuper = false)
1327
    public static class Eps extends StripeObject {
×
1328
      /**
1329
       * The customer's bank. Should be one of {@code arzte_und_apotheker_bank}, {@code
1330
       * austrian_anadi_bank_ag}, {@code bank_austria}, {@code bankhaus_carl_spangler}, {@code
1331
       * bankhaus_schelhammer_und_schattera_ag}, {@code bawag_psk_ag}, {@code bks_bank_ag}, {@code
1332
       * brull_kallmus_bank_ag}, {@code btv_vier_lander_bank}, {@code capital_bank_grawe_gruppe_ag},
1333
       * {@code deutsche_bank_ag}, {@code dolomitenbank}, {@code easybank_ag}, {@code
1334
       * erste_bank_und_sparkassen}, {@code hypo_alpeadriabank_international_ag}, {@code
1335
       * hypo_noe_lb_fur_niederosterreich_u_wien}, {@code hypo_oberosterreich_salzburg_steiermark},
1336
       * {@code hypo_tirol_bank_ag}, {@code hypo_vorarlberg_bank_ag}, {@code
1337
       * hypo_bank_burgenland_aktiengesellschaft}, {@code marchfelder_bank}, {@code oberbank_ag},
1338
       * {@code raiffeisen_bankengruppe_osterreich}, {@code schoellerbank_ag}, {@code
1339
       * sparda_bank_wien}, {@code volksbank_gruppe}, {@code volkskreditbank_ag}, or {@code
1340
       * vr_bank_braunau}.
1341
       */
1342
      @SerializedName("bank")
1343
      String bank;
1344
    }
1345

1346
    @Getter
1347
    @Setter
1348
    @EqualsAndHashCode(callSuper = false)
1349
    public static class Fpx extends StripeObject {
×
1350
      /** Account holder type, if provided. Can be one of {@code individual} or {@code company}. */
1351
      @SerializedName("account_holder_type")
1352
      String accountHolderType;
1353

1354
      /**
1355
       * The customer's bank, if provided. Can be one of {@code affin_bank}, {@code agrobank},
1356
       * {@code alliance_bank}, {@code ambank}, {@code bank_islam}, {@code bank_muamalat}, {@code
1357
       * bank_rakyat}, {@code bsn}, {@code cimb}, {@code hong_leong_bank}, {@code hsbc}, {@code
1358
       * kfh}, {@code maybank2u}, {@code ocbc}, {@code public_bank}, {@code rhb}, {@code
1359
       * standard_chartered}, {@code uob}, {@code deutsche_bank}, {@code maybank2e}, {@code
1360
       * pb_enterprise}, or {@code bank_of_china}.
1361
       */
1362
      @SerializedName("bank")
1363
      String bank;
1364
    }
1365

1366
    @Getter
1367
    @Setter
1368
    @EqualsAndHashCode(callSuper = false)
1369
    public static class Giropay extends StripeObject {}
×
1370

1371
    @Getter
1372
    @Setter
1373
    @EqualsAndHashCode(callSuper = false)
1374
    public static class Grabpay extends StripeObject {}
×
1375

1376
    @Getter
1377
    @Setter
1378
    @EqualsAndHashCode(callSuper = false)
1379
    public static class Ideal extends StripeObject {
×
1380
      /**
1381
       * The customer's bank, if provided. Can be one of {@code abn_amro}, {@code asn_bank}, {@code
1382
       * bunq}, {@code handelsbanken}, {@code ing}, {@code knab}, {@code moneyou}, {@code n26},
1383
       * {@code nn}, {@code rabobank}, {@code regiobank}, {@code revolut}, {@code sns_bank}, {@code
1384
       * triodos_bank}, {@code van_lanschot}, or {@code yoursafe}.
1385
       */
1386
      @SerializedName("bank")
1387
      String bank;
1388

1389
      /**
1390
       * The Bank Identifier Code of the customer's bank, if the bank was provided.
1391
       *
1392
       * <p>One of {@code ABNANL2A}, {@code ASNBNL21}, {@code BITSNL2A}, {@code BUNQNL2A}, {@code
1393
       * FVLBNL22}, {@code HANDNL2A}, {@code INGBNL2A}, {@code KNABNL2H}, {@code MOYONL21}, {@code
1394
       * NNBANL2G}, {@code NTSBDEB1}, {@code RABONL2U}, {@code RBRBNL21}, {@code REVOIE23}, {@code
1395
       * REVOLT21}, {@code SNSBNL2A}, or {@code TRIONL2U}.
1396
       */
1397
      @SerializedName("bic")
1398
      String bic;
1399
    }
1400

1401
    @Getter
1402
    @Setter
1403
    @EqualsAndHashCode(callSuper = false)
1404
    public static class InteracPresent extends StripeObject {
×
1405
      /** Card brand. Can be {@code interac}, {@code mastercard} or {@code visa}. */
1406
      @SerializedName("brand")
1407
      String brand;
1408

1409
      /**
1410
       * The cardholder name as read from the card, in <a
1411
       * href="https://en.wikipedia.org/wiki/ISO/IEC_7813">ISO 7813</a> format. May include
1412
       * alphanumeric characters, special characters and first/last name separator ({@code /}). In
1413
       * some cases, the cardholder name may not be available depending on how the issuer has
1414
       * configured the card. Cardholder name is typically not available on swipe or contactless
1415
       * payments, such as those made with Apple Pay and Google Pay.
1416
       */
1417
      @SerializedName("cardholder_name")
1418
      String cardholderName;
1419

1420
      /**
1421
       * Two-letter ISO code representing the country of the card. You could use this attribute to
1422
       * get a sense of the international breakdown of cards you've collected.
1423
       */
1424
      @SerializedName("country")
1425
      String country;
1426

1427
      /**
1428
       * A high-level description of the type of cards issued in this range. (For internal use only
1429
       * and not typically available in standard API requests.)
1430
       */
1431
      @SerializedName("description")
1432
      String description;
1433

1434
      /** Two-digit number representing the card's expiration month. */
1435
      @SerializedName("exp_month")
1436
      Long expMonth;
1437

1438
      /** Four-digit number representing the card's expiration year. */
1439
      @SerializedName("exp_year")
1440
      Long expYear;
1441

1442
      /**
1443
       * Uniquely identifies this particular card number. You can use this attribute to check
1444
       * whether two customers who’ve signed up with you are using the same card number, for
1445
       * example. For payment methods that tokenize card information (Apple Pay, Google Pay), the
1446
       * tokenized number might be provided instead of the underlying card number.
1447
       *
1448
       * <p><em>As of May 1, 2021, card fingerprint in India for Connect changed to allow two
1449
       * fingerprints for the same card---one for India and one for the rest of the world.</em>
1450
       */
1451
      @SerializedName("fingerprint")
1452
      String fingerprint;
1453

1454
      /**
1455
       * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
1456
       * unknown}.
1457
       */
1458
      @SerializedName("funding")
1459
      String funding;
1460

1461
      /**
1462
       * Issuer identification number of the card. (For internal use only and not typically
1463
       * available in standard API requests.)
1464
       */
1465
      @SerializedName("iin")
1466
      String iin;
1467

1468
      /**
1469
       * The name of the card's issuing bank. (For internal use only and not typically available in
1470
       * standard API requests.)
1471
       */
1472
      @SerializedName("issuer")
1473
      String issuer;
1474

1475
      /** The last four digits of the card. */
1476
      @SerializedName("last4")
1477
      String last4;
1478

1479
      /** Contains information about card networks that can be used to process the payment. */
1480
      @SerializedName("networks")
1481
      Networks networks;
1482

1483
      /** EMV tag 5F2D. Preferred languages specified by the integrated circuit chip. */
1484
      @SerializedName("preferred_locales")
1485
      List<String> preferredLocales;
1486

1487
      /**
1488
       * How card details were read in this transaction.
1489
       *
1490
       * <p>One of {@code contact_emv}, {@code contactless_emv}, {@code contactless_magstripe_mode},
1491
       * {@code magnetic_stripe_fallback}, or {@code magnetic_stripe_track2}.
1492
       */
1493
      @SerializedName("read_method")
1494
      String readMethod;
1495

1496
      @Getter
1497
      @Setter
1498
      @EqualsAndHashCode(callSuper = false)
1499
      public static class Networks extends StripeObject {
×
1500
        /** All available networks for the card. */
1501
        @SerializedName("available")
1502
        List<String> available;
1503

1504
        /** The preferred network for the card. */
1505
        @SerializedName("preferred")
1506
        String preferred;
1507
      }
1508
    }
1509

1510
    @Getter
1511
    @Setter
1512
    @EqualsAndHashCode(callSuper = false)
NEW
1513
    public static class KakaoPay extends StripeObject {}
×
1514

1515
    @Getter
1516
    @Setter
1517
    @EqualsAndHashCode(callSuper = false)
1518
    public static class Klarna extends StripeObject {
×
1519
      /** The customer's date of birth, if provided. */
1520
      @SerializedName("dob")
1521
      Dob dob;
1522

1523
      @Getter
1524
      @Setter
1525
      @EqualsAndHashCode(callSuper = false)
1526
      public static class Dob extends StripeObject {
×
1527
        /** The day of birth, between 1 and 31. */
1528
        @SerializedName("day")
1529
        Long day;
1530

1531
        /** The month of birth, between 1 and 12. */
1532
        @SerializedName("month")
1533
        Long month;
1534

1535
        /** The four-digit year of birth. */
1536
        @SerializedName("year")
1537
        Long year;
1538
      }
1539
    }
1540

1541
    @Getter
1542
    @Setter
1543
    @EqualsAndHashCode(callSuper = false)
1544
    public static class Konbini extends StripeObject {}
×
1545

1546
    @Getter
1547
    @Setter
1548
    @EqualsAndHashCode(callSuper = false)
NEW
1549
    public static class KrCard extends StripeObject {
×
1550
      /**
1551
       * The local credit or debit card brand.
1552
       *
1553
       * <p>One of {@code bc}, {@code citi}, {@code hana}, {@code hyundai}, {@code jeju}, {@code
1554
       * jeonbuk}, {@code kakaobank}, {@code kbank}, {@code kdbbank}, {@code kookmin}, {@code
1555
       * kwangju}, {@code lotte}, {@code mg}, {@code nh}, {@code post}, {@code samsung}, {@code
1556
       * savingsbank}, {@code shinhan}, {@code shinhyup}, {@code suhyup}, {@code tossbank}, or
1557
       * {@code woori}.
1558
       */
1559
      @SerializedName("brand")
1560
      String brand;
1561

1562
      /** The last four digits of the card. This may not be present for American Express cards. */
1563
      @SerializedName("last4")
1564
      String last4;
1565
    }
1566

1567
    @Getter
1568
    @Setter
1569
    @EqualsAndHashCode(callSuper = false)
1570
    public static class Link extends StripeObject {
×
1571
      /** Account owner's email address. */
1572
      @SerializedName("email")
1573
      String email;
1574

1575
      /** [Deprecated] This is a legacy parameter that no longer has any function. */
1576
      @SerializedName("persistent_token")
1577
      @Deprecated
1578
      String persistentToken;
1579
    }
1580

1581
    @Getter
1582
    @Setter
1583
    @EqualsAndHashCode(callSuper = false)
1584
    public static class MbWay extends StripeObject {}
×
1585

1586
    @Getter
1587
    @Setter
1588
    @EqualsAndHashCode(callSuper = false)
1589
    public static class Mobilepay extends StripeObject {}
×
1590

1591
    @Getter
1592
    @Setter
1593
    @EqualsAndHashCode(callSuper = false)
1594
    public static class Multibanco extends StripeObject {}
×
1595

1596
    @Getter
1597
    @Setter
1598
    @EqualsAndHashCode(callSuper = false)
NEW
1599
    public static class NaverPay extends StripeObject {
×
1600
      /**
1601
       * Whether to fund this transaction with Naver Pay points or a card.
1602
       *
1603
       * <p>One of {@code card}, or {@code points}.
1604
       */
1605
      @SerializedName("funding")
1606
      String funding;
1607
    }
1608

1609
    @Getter
1610
    @Setter
1611
    @EqualsAndHashCode(callSuper = false)
1612
    public static class Oxxo extends StripeObject {}
×
1613

1614
    @Getter
1615
    @Setter
1616
    @EqualsAndHashCode(callSuper = false)
1617
    public static class P24 extends StripeObject {
×
1618
      /**
1619
       * The customer's bank, if provided.
1620
       *
1621
       * <p>One of {@code alior_bank}, {@code bank_millennium}, {@code bank_nowy_bfg_sa}, {@code
1622
       * bank_pekao_sa}, {@code banki_spbdzielcze}, {@code blik}, {@code bnp_paribas}, {@code boz},
1623
       * {@code citi_handlowy}, {@code credit_agricole}, {@code envelobank}, {@code
1624
       * etransfer_pocztowy24}, {@code getin_bank}, {@code ideabank}, {@code ing}, {@code inteligo},
1625
       * {@code mbank_mtransfer}, {@code nest_przelew}, {@code noble_pay}, {@code pbac_z_ipko},
1626
       * {@code plus_bank}, {@code santander_przelew24}, {@code tmobile_usbugi_bankowe}, {@code
1627
       * toyota_bank}, {@code velobank}, or {@code volkswagen_bank}.
1628
       */
1629
      @SerializedName("bank")
1630
      String bank;
1631
    }
1632

1633
    @Getter
1634
    @Setter
1635
    @EqualsAndHashCode(callSuper = false)
NEW
1636
    public static class Payco extends StripeObject {}
×
1637

1638
    @Getter
1639
    @Setter
1640
    @EqualsAndHashCode(callSuper = false)
1641
    public static class Paynow extends StripeObject {}
×
1642

1643
    @Getter
1644
    @Setter
1645
    @EqualsAndHashCode(callSuper = false)
1646
    public static class Paypal extends StripeObject {
×
1647
      /**
1648
       * Uniquely identifies this particular PayPal account. You can use this attribute to check
1649
       * whether two PayPal accounts are the same.
1650
       */
1651
      @SerializedName("fingerprint")
1652
      String fingerprint;
1653

1654
      /**
1655
       * Owner's email. Values are provided by PayPal directly (if supported) at the time of
1656
       * authorization or settlement. They cannot be set or mutated.
1657
       */
1658
      @SerializedName("payer_email")
1659
      String payerEmail;
1660

1661
      /** PayPal account PayerID. This identifier uniquely identifies the PayPal customer. */
1662
      @SerializedName("payer_id")
1663
      String payerId;
1664

1665
      /**
1666
       * Owner's verified email. Values are verified or provided by PayPal directly (if supported)
1667
       * at the time of authorization or settlement. They cannot be set or mutated.
1668
       */
1669
      @SerializedName("verified_email")
1670
      String verifiedEmail;
1671
    }
1672

1673
    @Getter
1674
    @Setter
1675
    @EqualsAndHashCode(callSuper = false)
1676
    public static class Payto extends StripeObject {
×
1677
      /** Bank-State-Branch number of the bank account. */
1678
      @SerializedName("bsb_number")
1679
      String bsbNumber;
1680

1681
      /** Last four digits of the bank account number. */
1682
      @SerializedName("last4")
1683
      String last4;
1684

1685
      /** The PayID alias for the bank account. */
1686
      @SerializedName("pay_id")
1687
      String payId;
1688
    }
1689

1690
    @Getter
1691
    @Setter
1692
    @EqualsAndHashCode(callSuper = false)
1693
    public static class Pix extends StripeObject {}
×
1694

1695
    @Getter
1696
    @Setter
1697
    @EqualsAndHashCode(callSuper = false)
1698
    public static class Promptpay extends StripeObject {}
×
1699

1700
    @Getter
1701
    @Setter
1702
    @EqualsAndHashCode(callSuper = false)
1703
    public static class Rechnung extends StripeObject {
×
1704
      @SerializedName("dob")
1705
      Dob dob;
1706

1707
      @Getter
1708
      @Setter
1709
      @EqualsAndHashCode(callSuper = false)
1710
      public static class Dob extends StripeObject {
×
1711
        /** The day of birth, between 1 and 31. */
1712
        @SerializedName("day")
1713
        Long day;
1714

1715
        /** The month of birth, between 1 and 12. */
1716
        @SerializedName("month")
1717
        Long month;
1718

1719
        /** The four-digit year of birth. */
1720
        @SerializedName("year")
1721
        Long year;
1722
      }
1723
    }
1724

1725
    @Getter
1726
    @Setter
1727
    @EqualsAndHashCode(callSuper = false)
1728
    public static class RevolutPay extends StripeObject {}
×
1729

1730
    @Getter
1731
    @Setter
1732
    @EqualsAndHashCode(callSuper = false)
NEW
1733
    public static class SamsungPay extends StripeObject {}
×
1734

1735
    @Getter
1736
    @Setter
1737
    @EqualsAndHashCode(callSuper = false)
1738
    public static class SepaDebit extends StripeObject {
×
1739
      /** Bank code of bank associated with the bank account. */
1740
      @SerializedName("bank_code")
1741
      String bankCode;
1742

1743
      /** Branch code of bank associated with the bank account. */
1744
      @SerializedName("branch_code")
1745
      String branchCode;
1746

1747
      /** Two-letter ISO code representing the country the bank account is located in. */
1748
      @SerializedName("country")
1749
      String country;
1750

1751
      /**
1752
       * Uniquely identifies this particular bank account. You can use this attribute to check
1753
       * whether two bank accounts are the same.
1754
       */
1755
      @SerializedName("fingerprint")
1756
      String fingerprint;
1757

1758
      /** Information about the object that generated this PaymentMethod. */
1759
      @SerializedName("generated_from")
1760
      GeneratedFrom generatedFrom;
1761

1762
      /** Last four characters of the IBAN. */
1763
      @SerializedName("last4")
1764
      String last4;
1765

1766
      @Getter
1767
      @Setter
1768
      @EqualsAndHashCode(callSuper = false)
1769
      public static class GeneratedFrom extends StripeObject {
×
1770
        /** The ID of the Charge that generated this PaymentMethod, if any. */
1771
        @SerializedName("charge")
1772
        @Getter(lombok.AccessLevel.NONE)
1773
        @Setter(lombok.AccessLevel.NONE)
1774
        ExpandableField<Charge> charge;
1775

1776
        /** The ID of the SetupAttempt that generated this PaymentMethod, if any. */
1777
        @SerializedName("setup_attempt")
1778
        @Getter(lombok.AccessLevel.NONE)
1779
        @Setter(lombok.AccessLevel.NONE)
1780
        ExpandableField<SetupAttempt> setupAttempt;
1781

1782
        /** Get ID of expandable {@code charge} object. */
1783
        public String getCharge() {
1784
          return (this.charge != null) ? this.charge.getId() : null;
×
1785
        }
1786

1787
        public void setCharge(String id) {
1788
          this.charge = ApiResource.setExpandableFieldId(id, this.charge);
×
1789
        }
×
1790

1791
        /** Get expanded {@code charge}. */
1792
        public Charge getChargeObject() {
1793
          return (this.charge != null) ? this.charge.getExpanded() : null;
×
1794
        }
1795

1796
        public void setChargeObject(Charge expandableObject) {
1797
          this.charge = new ExpandableField<Charge>(expandableObject.getId(), expandableObject);
×
1798
        }
×
1799

1800
        /** Get ID of expandable {@code setupAttempt} object. */
1801
        public String getSetupAttempt() {
1802
          return (this.setupAttempt != null) ? this.setupAttempt.getId() : null;
×
1803
        }
1804

1805
        public void setSetupAttempt(String id) {
1806
          this.setupAttempt = ApiResource.setExpandableFieldId(id, this.setupAttempt);
×
1807
        }
×
1808

1809
        /** Get expanded {@code setupAttempt}. */
1810
        public SetupAttempt getSetupAttemptObject() {
1811
          return (this.setupAttempt != null) ? this.setupAttempt.getExpanded() : null;
×
1812
        }
1813

1814
        public void setSetupAttemptObject(SetupAttempt expandableObject) {
1815
          this.setupAttempt =
×
1816
              new ExpandableField<SetupAttempt>(expandableObject.getId(), expandableObject);
×
1817
        }
×
1818
      }
1819
    }
1820

1821
    @Getter
1822
    @Setter
1823
    @EqualsAndHashCode(callSuper = false)
1824
    public static class Sofort extends StripeObject {
×
1825
      /** Two-letter ISO code representing the country the bank account is located in. */
1826
      @SerializedName("country")
1827
      String country;
1828
    }
1829

1830
    @Getter
1831
    @Setter
1832
    @EqualsAndHashCode(callSuper = false)
1833
    public static class Swish extends StripeObject {}
×
1834

1835
    @Getter
1836
    @Setter
1837
    @EqualsAndHashCode(callSuper = false)
1838
    public static class Twint extends StripeObject {}
×
1839

1840
    @Getter
1841
    @Setter
1842
    @EqualsAndHashCode(callSuper = false)
1843
    public static class UsBankAccount extends StripeObject {
×
1844
      /**
1845
       * Account holder type: individual or company.
1846
       *
1847
       * <p>One of {@code company}, or {@code individual}.
1848
       */
1849
      @SerializedName("account_holder_type")
1850
      String accountHolderType;
1851

1852
      /** Account number of the bank account. */
1853
      @SerializedName("account_number")
1854
      String accountNumber;
1855

1856
      /**
1857
       * Account type: checkings or savings. Defaults to checking if omitted.
1858
       *
1859
       * <p>One of {@code checking}, or {@code savings}.
1860
       */
1861
      @SerializedName("account_type")
1862
      String accountType;
1863

1864
      /** The name of the bank. */
1865
      @SerializedName("bank_name")
1866
      String bankName;
1867

1868
      /** The ID of the Financial Connections Account used to create the payment method. */
1869
      @SerializedName("financial_connections_account")
1870
      String financialConnectionsAccount;
1871

1872
      /**
1873
       * Uniquely identifies this particular bank account. You can use this attribute to check
1874
       * whether two bank accounts are the same.
1875
       */
1876
      @SerializedName("fingerprint")
1877
      String fingerprint;
1878

1879
      /** Last four digits of the bank account number. */
1880
      @SerializedName("last4")
1881
      String last4;
1882

1883
      /** Contains information about US bank account networks that can be used. */
1884
      @SerializedName("networks")
1885
      Networks networks;
1886

1887
      /** Routing number of the bank account. */
1888
      @SerializedName("routing_number")
1889
      String routingNumber;
1890

1891
      /** Contains information about the future reusability of this PaymentMethod. */
1892
      @SerializedName("status_details")
1893
      StatusDetails statusDetails;
1894

1895
      @Getter
1896
      @Setter
1897
      @EqualsAndHashCode(callSuper = false)
1898
      public static class Networks extends StripeObject {
×
1899
        /** The preferred network. */
1900
        @SerializedName("preferred")
1901
        String preferred;
1902

1903
        /** All supported networks. */
1904
        @SerializedName("supported")
1905
        List<String> supported;
1906
      }
1907

1908
      @Getter
1909
      @Setter
1910
      @EqualsAndHashCode(callSuper = false)
1911
      public static class StatusDetails extends StripeObject {
×
1912
        @SerializedName("blocked")
1913
        Blocked blocked;
1914

1915
        @Getter
1916
        @Setter
1917
        @EqualsAndHashCode(callSuper = false)
1918
        public static class Blocked extends StripeObject {
×
1919
          /**
1920
           * The ACH network code that resulted in this block.
1921
           *
1922
           * <p>One of {@code R02}, {@code R03}, {@code R04}, {@code R05}, {@code R07}, {@code R08},
1923
           * {@code R10}, {@code R11}, {@code R16}, {@code R20}, {@code R29}, or {@code R31}.
1924
           */
1925
          @SerializedName("network_code")
1926
          String networkCode;
1927

1928
          /**
1929
           * The reason why this PaymentMethod's fingerprint has been blocked
1930
           *
1931
           * <p>One of {@code bank_account_closed}, {@code bank_account_frozen}, {@code
1932
           * bank_account_invalid_details}, {@code bank_account_restricted}, {@code
1933
           * bank_account_unusable}, or {@code debit_not_authorized}.
1934
           */
1935
          @SerializedName("reason")
1936
          String reason;
1937
        }
1938
      }
1939
    }
1940

1941
    @Getter
1942
    @Setter
1943
    @EqualsAndHashCode(callSuper = false)
1944
    public static class WechatPay extends StripeObject {}
×
1945

1946
    @Getter
1947
    @Setter
1948
    @EqualsAndHashCode(callSuper = false)
1949
    public static class Zip extends StripeObject {}
×
1950
  }
1951

1952
  @Getter
1953
  @Setter
1954
  @EqualsAndHashCode(callSuper = false)
1955
  public static class Shipping extends StripeObject {
×
1956
    @SerializedName("address")
1957
    Address address;
1958

1959
    /** Recipient name. */
1960
    @SerializedName("name")
1961
    String name;
1962

1963
    /** Recipient phone (including extension). */
1964
    @SerializedName("phone")
1965
    String phone;
1966
  }
1967

1968
  public static class TestHelpers {
1969
    private TestHelpers() {}
1970

1971
    /** Creates a test mode Confirmation Token server side for your integration tests. */
1972
    public static ConfirmationToken create(Map<String, Object> params) throws StripeException {
1973
      return create(params, (RequestOptions) null);
×
1974
    }
1975

1976
    /** Creates a test mode Confirmation Token server side for your integration tests. */
1977
    public static ConfirmationToken create(Map<String, Object> params, RequestOptions options)
1978
        throws StripeException {
1979
      String path = "/v1/test_helpers/confirmation_tokens";
×
1980
      ApiRequest request =
×
1981
          new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
1982
      return getGlobalResponseGetter().request(request, ConfirmationToken.class);
×
1983
    }
1984

1985
    /** Creates a test mode Confirmation Token server side for your integration tests. */
1986
    public static ConfirmationToken create(ConfirmationTokenCreateParams params)
1987
        throws StripeException {
1988
      return create(params, (RequestOptions) null);
×
1989
    }
1990

1991
    /** Creates a test mode Confirmation Token server side for your integration tests. */
1992
    public static ConfirmationToken create(
1993
        ConfirmationTokenCreateParams params, RequestOptions options) throws StripeException {
1994
      String path = "/v1/test_helpers/confirmation_tokens";
×
1995
      ApiResource.checkNullTypedParams(path, params);
×
1996
      ApiRequest request =
×
1997
          new ApiRequest(
1998
              BaseAddress.API,
1999
              ApiResource.RequestMethod.POST,
2000
              path,
2001
              ApiRequestParams.paramsToMap(params),
×
2002
              options);
2003
      return getGlobalResponseGetter().request(request, ConfirmationToken.class);
×
2004
    }
2005
  }
2006

2007
  @Override
2008
  public void setResponseGetter(StripeResponseGetter responseGetter) {
2009
    super.setResponseGetter(responseGetter);
×
2010
    trySetResponseGetter(mandateData, responseGetter);
×
2011
    trySetResponseGetter(paymentMethodOptions, responseGetter);
×
2012
    trySetResponseGetter(paymentMethodPreview, responseGetter);
×
2013
    trySetResponseGetter(shipping, responseGetter);
×
2014
  }
×
2015
}
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