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

stripe / stripe-java / #16707

14 Dec 2024 12:12AM UTC coverage: 15.91% (-0.08%) from 15.988%
#16707

Pull #1931

github

web-flow
Merge 90c2dfd77 into cf528f2c8
Pull Request #1931: Update generated code

43 of 1442 new or added lines in 28 files covered. (2.98%)

137 existing lines in 17 files now uncovered.

18625 of 117068 relevant lines covered (15.91%)

0.16 hits per line

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

23.08
/src/main/java/com/stripe/model/checkout/Session.java
1
// File generated from our OpenAPI spec
2
package com.stripe.model.checkout;
3

4
import com.google.gson.annotations.SerializedName;
5
import com.stripe.exception.StripeException;
6
import com.stripe.model.Account;
7
import com.stripe.model.Address;
8
import com.stripe.model.Customer;
9
import com.stripe.model.ExpandableField;
10
import com.stripe.model.HasId;
11
import com.stripe.model.Invoice;
12
import com.stripe.model.LineItemCollection;
13
import com.stripe.model.MetadataStore;
14
import com.stripe.model.PaymentIntent;
15
import com.stripe.model.PaymentLink;
16
import com.stripe.model.SetupIntent;
17
import com.stripe.model.ShippingDetails;
18
import com.stripe.model.ShippingRate;
19
import com.stripe.model.StripeObject;
20
import com.stripe.model.Subscription;
21
import com.stripe.model.TaxRate;
22
import com.stripe.net.ApiRequest;
23
import com.stripe.net.ApiRequestParams;
24
import com.stripe.net.ApiResource;
25
import com.stripe.net.BaseAddress;
26
import com.stripe.net.RequestOptions;
27
import com.stripe.net.StripeResponseGetter;
28
import com.stripe.param.checkout.SessionCreateParams;
29
import com.stripe.param.checkout.SessionExpireParams;
30
import com.stripe.param.checkout.SessionListLineItemsParams;
31
import com.stripe.param.checkout.SessionListParams;
32
import com.stripe.param.checkout.SessionRetrieveParams;
33
import com.stripe.param.checkout.SessionUpdateParams;
34
import java.math.BigDecimal;
35
import java.util.List;
36
import java.util.Map;
37
import java.util.stream.Collectors;
38
import lombok.EqualsAndHashCode;
39
import lombok.Getter;
40
import lombok.Setter;
41

42
/**
43
 * A Checkout Session represents your customer's session as they pay for one-time purchases or
44
 * subscriptions through <a href="https://stripe.com/docs/payments/checkout">Checkout</a> or <a
45
 * href="https://stripe.com/docs/payments/payment-links">Payment Links</a>. We recommend creating a
46
 * new Session each time your customer attempts to pay.
47
 *
48
 * <p>Once payment is successful, the Checkout Session will contain a reference to the <a
49
 * href="https://stripe.com/docs/api/customers">Customer</a>, and either the successful <a
50
 * href="https://stripe.com/docs/api/payment_intents">PaymentIntent</a> or an active <a
51
 * href="https://stripe.com/docs/api/subscriptions">Subscription</a>.
52
 *
53
 * <p>You can create a Checkout Session on your server and redirect to its URL to begin Checkout.
54
 *
55
 * <p>Related guide: <a href="https://stripe.com/docs/checkout/quickstart">Checkout quickstart</a>
56
 */
57
@Getter
58
@Setter
59
@EqualsAndHashCode(callSuper = false)
60
public class Session extends ApiResource implements HasId, MetadataStore<Session> {
1✔
61
  /**
62
   * Settings for price localization with <a
63
   * href="https://docs.stripe.com/payments/checkout/adaptive-pricing">Adaptive Pricing</a>.
64
   */
65
  @SerializedName("adaptive_pricing")
66
  AdaptivePricing adaptivePricing;
67

68
  /** When set, provides configuration for actions to take if this Checkout Session expires. */
69
  @SerializedName("after_expiration")
70
  AfterExpiration afterExpiration;
71

72
  /** Enables user redeemable promotion codes. */
73
  @SerializedName("allow_promotion_codes")
74
  Boolean allowPromotionCodes;
75

76
  /** Total of all items before discounts or taxes are applied. */
77
  @SerializedName("amount_subtotal")
78
  Long amountSubtotal;
79

80
  /** Total of all items after discounts and taxes are applied. */
81
  @SerializedName("amount_total")
82
  Long amountTotal;
83

84
  @SerializedName("automatic_tax")
85
  AutomaticTax automaticTax;
86

87
  /**
88
   * Describes whether Checkout should collect the customer's billing address. Defaults to {@code
89
   * auto}.
90
   *
91
   * <p>One of {@code auto}, or {@code required}.
92
   */
93
  @SerializedName("billing_address_collection")
94
  String billingAddressCollection;
95

96
  /**
97
   * If set, Checkout displays a back button and customers will be directed to this URL if they
98
   * decide to cancel payment and return to your website.
99
   */
100
  @SerializedName("cancel_url")
101
  String cancelUrl;
102

103
  /**
104
   * A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or
105
   * similar, and can be used to reconcile the Session with your internal systems.
106
   */
107
  @SerializedName("client_reference_id")
108
  String clientReferenceId;
109

110
  /** Client secret to be used when initializing Stripe.js embedded checkout. */
111
  @SerializedName("client_secret")
112
  String clientSecret;
113

114
  /** Results of {@code consent_collection} for this session. */
115
  @SerializedName("consent")
116
  Consent consent;
117

118
  /**
119
   * When set, provides configuration for the Checkout Session to gather active consent from
120
   * customers.
121
   */
122
  @SerializedName("consent_collection")
123
  ConsentCollection consentCollection;
124

125
  /** Time at which the object was created. Measured in seconds since the Unix epoch. */
126
  @SerializedName("created")
127
  Long created;
128

129
  /**
130
   * Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>,
131
   * in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
132
   */
133
  @SerializedName("currency")
134
  String currency;
135

136
  /**
137
   * Currency conversion details for <a
138
   * href="https://docs.stripe.com/payments/checkout/adaptive-pricing">Adaptive Pricing</a> sessions
139
   */
140
  @SerializedName("currency_conversion")
141
  CurrencyConversion currencyConversion;
142

143
  /**
144
   * Collect additional information from your customer using custom fields. Up to 3 fields are
145
   * supported.
146
   */
147
  @SerializedName("custom_fields")
148
  List<Session.CustomField> customFields;
149

150
  @SerializedName("custom_text")
151
  CustomText customText;
152

153
  /**
154
   * The ID of the customer for this Session. For Checkout Sessions in {@code subscription} mode or
155
   * Checkout Sessions with {@code customer_creation} set as {@code always} in {@code payment} mode,
156
   * Checkout will create a new customer object based on information provided during the payment
157
   * flow unless an existing customer was provided when the Session was created.
158
   */
159
  @SerializedName("customer")
160
  @Getter(lombok.AccessLevel.NONE)
161
  @Setter(lombok.AccessLevel.NONE)
162
  ExpandableField<Customer> customer;
163

164
  /**
165
   * Configure whether a Checkout Session creates a Customer when the Checkout Session completes.
166
   *
167
   * <p>One of {@code always}, or {@code if_required}.
168
   */
169
  @SerializedName("customer_creation")
170
  String customerCreation;
171

172
  /**
173
   * The customer details including the customer's tax exempt status and the customer's tax IDs.
174
   * Customer's address details are not present on Sessions in {@code setup} mode.
175
   */
176
  @SerializedName("customer_details")
177
  CustomerDetails customerDetails;
178

179
  /**
180
   * If provided, this value will be used when the Customer object is created. If not provided,
181
   * customers will be asked to enter their email address. Use this parameter to prefill customer
182
   * data if you already have an email on file. To access information about the customer once the
183
   * payment flow is complete, use the {@code customer} attribute.
184
   */
185
  @SerializedName("customer_email")
186
  String customerEmail;
187

188
  /** The timestamp at which the Checkout Session will expire. */
189
  @SerializedName("expires_at")
190
  Long expiresAt;
191

192
  /** Unique identifier for the object. */
193
  @Getter(onMethod_ = {@Override})
194
  @SerializedName("id")
195
  String id;
196

197
  /** ID of the invoice created by the Checkout Session, if it exists. */
198
  @SerializedName("invoice")
199
  @Getter(lombok.AccessLevel.NONE)
200
  @Setter(lombok.AccessLevel.NONE)
201
  ExpandableField<Invoice> invoice;
202

203
  /** Details on the state of invoice creation for the Checkout Session. */
204
  @SerializedName("invoice_creation")
205
  InvoiceCreation invoiceCreation;
206

207
  /** The line items purchased by the customer. */
208
  @SerializedName("line_items")
209
  LineItemCollection lineItems;
210

211
  /**
212
   * Has the value {@code true} if the object exists in live mode or the value {@code false} if the
213
   * object exists in test mode.
214
   */
215
  @SerializedName("livemode")
216
  Boolean livemode;
217

218
  /**
219
   * The IETF language tag of the locale Checkout is displayed in. If blank or {@code auto}, the
220
   * browser's locale is used.
221
   *
222
   * <p>One of {@code auto}, {@code bg}, {@code cs}, {@code da}, {@code de}, {@code el}, {@code en},
223
   * {@code en-GB}, {@code es}, {@code es-419}, {@code et}, {@code fi}, {@code fil}, {@code fr},
224
   * {@code fr-CA}, {@code hr}, {@code hu}, {@code id}, {@code it}, {@code ja}, {@code ko}, {@code
225
   * lt}, {@code lv}, {@code ms}, {@code mt}, {@code nb}, {@code nl}, {@code pl}, {@code pt}, {@code
226
   * pt-BR}, {@code ro}, {@code ru}, {@code sk}, {@code sl}, {@code sv}, {@code th}, {@code tr},
227
   * {@code vi}, {@code zh}, {@code zh-HK}, or {@code zh-TW}.
228
   */
229
  @SerializedName("locale")
230
  String locale;
231

232
  /**
233
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
234
   * to an object. This can be useful for storing additional information about the object in a
235
   * structured format.
236
   */
237
  @Getter(onMethod_ = {@Override})
238
  @SerializedName("metadata")
239
  Map<String, String> metadata;
240

241
  /**
242
   * The mode of the Checkout Session.
243
   *
244
   * <p>One of {@code payment}, {@code setup}, or {@code subscription}.
245
   */
246
  @SerializedName("mode")
247
  String mode;
248

249
  /**
250
   * String representing the object's type. Objects of the same type share the same value.
251
   *
252
   * <p>Equal to {@code checkout.session}.
253
   */
254
  @SerializedName("object")
255
  String object;
256

257
  /**
258
   * The ID of the PaymentIntent for Checkout Sessions in {@code payment} mode. You can't confirm or
259
   * cancel the PaymentIntent for a Checkout Session. To cancel, <a
260
   * href="https://stripe.com/docs/api/checkout/sessions/expire">expire the Checkout Session</a>
261
   * instead.
262
   */
263
  @SerializedName("payment_intent")
264
  @Getter(lombok.AccessLevel.NONE)
265
  @Setter(lombok.AccessLevel.NONE)
266
  ExpandableField<PaymentIntent> paymentIntent;
267

268
  /** The ID of the Payment Link that created this Session. */
269
  @SerializedName("payment_link")
270
  @Getter(lombok.AccessLevel.NONE)
271
  @Setter(lombok.AccessLevel.NONE)
272
  ExpandableField<PaymentLink> paymentLink;
273

274
  /**
275
   * Configure whether a Checkout Session should collect a payment method. Defaults to {@code
276
   * always}.
277
   *
278
   * <p>One of {@code always}, or {@code if_required}.
279
   */
280
  @SerializedName("payment_method_collection")
281
  String paymentMethodCollection;
282

283
  /**
284
   * Information about the payment method configuration used for this Checkout session if using
285
   * dynamic payment methods.
286
   */
287
  @SerializedName("payment_method_configuration_details")
288
  PaymentMethodConfigurationDetails paymentMethodConfigurationDetails;
289

290
  /**
291
   * Payment-method-specific configuration for the PaymentIntent or SetupIntent of this
292
   * CheckoutSession.
293
   */
294
  @SerializedName("payment_method_options")
295
  PaymentMethodOptions paymentMethodOptions;
296

297
  /**
298
   * A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept.
299
   */
300
  @SerializedName("payment_method_types")
301
  List<String> paymentMethodTypes;
302

303
  /**
304
   * The payment status of the Checkout Session, one of {@code paid}, {@code unpaid}, or {@code
305
   * no_payment_required}. You can use this value to decide when to fulfill your customer's order.
306
   */
307
  @SerializedName("payment_status")
308
  String paymentStatus;
309

310
  @SerializedName("phone_number_collection")
311
  PhoneNumberCollection phoneNumberCollection;
312

313
  /** The ID of the original expired Checkout Session that triggered the recovery flow. */
314
  @SerializedName("recovered_from")
315
  String recoveredFrom;
316

317
  /**
318
   * This parameter applies to {@code ui_mode: embedded}. Learn more about the <a
319
   * href="https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form">redirect
320
   * behavior</a> of embedded sessions. Defaults to {@code always}.
321
   *
322
   * <p>One of {@code always}, {@code if_required}, or {@code never}.
323
   */
324
  @SerializedName("redirect_on_completion")
325
  String redirectOnCompletion;
326

327
  /**
328
   * Applies to Checkout Sessions with {@code ui_mode: embedded}. The URL to redirect your customer
329
   * back to after they authenticate or cancel their payment on the payment method's app or site.
330
   */
331
  @SerializedName("return_url")
332
  String returnUrl;
333

334
  /**
335
   * Controls saved payment method settings for the session. Only available in {@code payment} and
336
   * {@code subscription} mode.
337
   */
338
  @SerializedName("saved_payment_method_options")
339
  SavedPaymentMethodOptions savedPaymentMethodOptions;
340

341
  /**
342
   * The ID of the SetupIntent for Checkout Sessions in {@code setup} mode. You can't confirm or
343
   * cancel the SetupIntent for a Checkout Session. To cancel, <a
344
   * href="https://stripe.com/docs/api/checkout/sessions/expire">expire the Checkout Session</a>
345
   * instead.
346
   */
347
  @SerializedName("setup_intent")
348
  @Getter(lombok.AccessLevel.NONE)
349
  @Setter(lombok.AccessLevel.NONE)
350
  ExpandableField<SetupIntent> setupIntent;
351

352
  /**
353
   * When set, provides configuration for Checkout to collect a shipping address from a customer.
354
   */
355
  @SerializedName("shipping_address_collection")
356
  ShippingAddressCollection shippingAddressCollection;
357

358
  /** The details of the customer cost of shipping, including the customer chosen ShippingRate. */
359
  @SerializedName("shipping_cost")
360
  ShippingCost shippingCost;
361

362
  /** Shipping information for this Checkout Session. */
363
  @SerializedName("shipping_details")
364
  ShippingDetails shippingDetails;
365

366
  /** The shipping rate options applied to this Session. */
367
  @SerializedName("shipping_options")
368
  List<Session.ShippingOption> shippingOptions;
369

370
  /**
371
   * The status of the Checkout Session, one of {@code open}, {@code complete}, or {@code expired}.
372
   */
373
  @SerializedName("status")
374
  String status;
375

376
  /**
377
   * Describes the type of transaction being performed by Checkout in order to customize relevant
378
   * text on the page, such as the submit button. {@code submit_type} can only be specified on
379
   * Checkout Sessions in {@code payment} mode. If blank or {@code auto}, {@code pay} is used.
380
   *
381
   * <p>One of {@code auto}, {@code book}, {@code donate}, {@code pay}, or {@code subscribe}.
382
   */
383
  @SerializedName("submit_type")
384
  String submitType;
385

386
  /** The ID of the subscription for Checkout Sessions in {@code subscription} mode. */
387
  @SerializedName("subscription")
388
  @Getter(lombok.AccessLevel.NONE)
389
  @Setter(lombok.AccessLevel.NONE)
390
  ExpandableField<Subscription> subscription;
391

392
  /**
393
   * The URL the customer will be directed to after the payment or subscription creation is
394
   * successful.
395
   */
396
  @SerializedName("success_url")
397
  String successUrl;
398

399
  @SerializedName("tax_id_collection")
400
  TaxIdCollection taxIdCollection;
401

402
  /** Tax and discount details for the computed total amount. */
403
  @SerializedName("total_details")
404
  TotalDetails totalDetails;
405

406
  /**
407
   * The UI mode of the Session. Defaults to {@code hosted}.
408
   *
409
   * <p>One of {@code embedded}, or {@code hosted}.
410
   */
411
  @SerializedName("ui_mode")
412
  String uiMode;
413

414
  /**
415
   * The URL to the Checkout Session. Redirect customers to this URL to take them to Checkout. If
416
   * you’re using <a href="https://stripe.com/docs/payments/checkout/custom-domains">Custom
417
   * Domains</a>, the URL will use your subdomain. Otherwise, it’ll use {@code checkout.stripe.com.}
418
   * This value is only present when the session is active.
419
   */
420
  @SerializedName("url")
421
  String url;
422

423
  /** Get ID of expandable {@code customer} object. */
424
  public String getCustomer() {
425
    return (this.customer != null) ? this.customer.getId() : null;
×
426
  }
427

428
  public void setCustomer(String id) {
429
    this.customer = ApiResource.setExpandableFieldId(id, this.customer);
×
430
  }
×
431

432
  /** Get expanded {@code customer}. */
433
  public Customer getCustomerObject() {
434
    return (this.customer != null) ? this.customer.getExpanded() : null;
×
435
  }
436

437
  public void setCustomerObject(Customer expandableObject) {
438
    this.customer = new ExpandableField<Customer>(expandableObject.getId(), expandableObject);
×
439
  }
×
440

441
  /** Get ID of expandable {@code invoice} object. */
442
  public String getInvoice() {
443
    return (this.invoice != null) ? this.invoice.getId() : null;
×
444
  }
445

446
  public void setInvoice(String id) {
447
    this.invoice = ApiResource.setExpandableFieldId(id, this.invoice);
×
448
  }
×
449

450
  /** Get expanded {@code invoice}. */
451
  public Invoice getInvoiceObject() {
452
    return (this.invoice != null) ? this.invoice.getExpanded() : null;
×
453
  }
454

455
  public void setInvoiceObject(Invoice expandableObject) {
456
    this.invoice = new ExpandableField<Invoice>(expandableObject.getId(), expandableObject);
×
457
  }
×
458

459
  /** Get ID of expandable {@code paymentIntent} object. */
460
  public String getPaymentIntent() {
461
    return (this.paymentIntent != null) ? this.paymentIntent.getId() : null;
×
462
  }
463

464
  public void setPaymentIntent(String id) {
465
    this.paymentIntent = ApiResource.setExpandableFieldId(id, this.paymentIntent);
×
466
  }
×
467

468
  /** Get expanded {@code paymentIntent}. */
469
  public PaymentIntent getPaymentIntentObject() {
470
    return (this.paymentIntent != null) ? this.paymentIntent.getExpanded() : null;
×
471
  }
472

473
  public void setPaymentIntentObject(PaymentIntent expandableObject) {
474
    this.paymentIntent =
×
475
        new ExpandableField<PaymentIntent>(expandableObject.getId(), expandableObject);
×
476
  }
×
477

478
  /** Get ID of expandable {@code paymentLink} object. */
479
  public String getPaymentLink() {
480
    return (this.paymentLink != null) ? this.paymentLink.getId() : null;
×
481
  }
482

483
  public void setPaymentLink(String id) {
484
    this.paymentLink = ApiResource.setExpandableFieldId(id, this.paymentLink);
×
485
  }
×
486

487
  /** Get expanded {@code paymentLink}. */
488
  public PaymentLink getPaymentLinkObject() {
489
    return (this.paymentLink != null) ? this.paymentLink.getExpanded() : null;
×
490
  }
491

492
  public void setPaymentLinkObject(PaymentLink expandableObject) {
493
    this.paymentLink = new ExpandableField<PaymentLink>(expandableObject.getId(), expandableObject);
×
494
  }
×
495

496
  /** Get ID of expandable {@code setupIntent} object. */
497
  public String getSetupIntent() {
498
    return (this.setupIntent != null) ? this.setupIntent.getId() : null;
×
499
  }
500

501
  public void setSetupIntent(String id) {
502
    this.setupIntent = ApiResource.setExpandableFieldId(id, this.setupIntent);
×
503
  }
×
504

505
  /** Get expanded {@code setupIntent}. */
506
  public SetupIntent getSetupIntentObject() {
507
    return (this.setupIntent != null) ? this.setupIntent.getExpanded() : null;
×
508
  }
509

510
  public void setSetupIntentObject(SetupIntent expandableObject) {
511
    this.setupIntent = new ExpandableField<SetupIntent>(expandableObject.getId(), expandableObject);
×
512
  }
×
513

514
  /** Get ID of expandable {@code subscription} object. */
515
  public String getSubscription() {
516
    return (this.subscription != null) ? this.subscription.getId() : null;
×
517
  }
518

519
  public void setSubscription(String id) {
520
    this.subscription = ApiResource.setExpandableFieldId(id, this.subscription);
×
521
  }
×
522

523
  /** Get expanded {@code subscription}. */
524
  public Subscription getSubscriptionObject() {
525
    return (this.subscription != null) ? this.subscription.getExpanded() : null;
×
526
  }
527

528
  public void setSubscriptionObject(Subscription expandableObject) {
529
    this.subscription =
×
530
        new ExpandableField<Subscription>(expandableObject.getId(), expandableObject);
×
531
  }
×
532

533
  /** Creates a Session object. */
534
  public static Session create(Map<String, Object> params) throws StripeException {
535
    return create(params, (RequestOptions) null);
×
536
  }
537

538
  /** Creates a Session object. */
539
  public static Session create(Map<String, Object> params, RequestOptions options)
540
      throws StripeException {
541
    String path = "/v1/checkout/sessions";
×
542
    ApiRequest request =
×
543
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
544
    return getGlobalResponseGetter().request(request, Session.class);
×
545
  }
546

547
  /** Creates a Session object. */
548
  public static Session create(SessionCreateParams params) throws StripeException {
549
    return create(params, (RequestOptions) null);
1✔
550
  }
551

552
  /** Creates a Session object. */
553
  public static Session create(SessionCreateParams params, RequestOptions options)
554
      throws StripeException {
555
    String path = "/v1/checkout/sessions";
1✔
556
    ApiResource.checkNullTypedParams(path, params);
1✔
557
    ApiRequest request =
1✔
558
        new ApiRequest(
559
            BaseAddress.API,
560
            ApiResource.RequestMethod.POST,
561
            path,
562
            ApiRequestParams.paramsToMap(params),
1✔
563
            options);
564
    return getGlobalResponseGetter().request(request, Session.class);
1✔
565
  }
566

567
  /**
568
   * A Session can be expired when it is in one of these statuses: {@code open}
569
   *
570
   * <p>After it expires, a customer can’t complete a Session and customers loading the Session see
571
   * a message saying the Session is expired.
572
   */
573
  public Session expire() throws StripeException {
574
    return expire((Map<String, Object>) null, (RequestOptions) null);
×
575
  }
576

577
  /**
578
   * A Session can be expired when it is in one of these statuses: {@code open}
579
   *
580
   * <p>After it expires, a customer can’t complete a Session and customers loading the Session see
581
   * a message saying the Session is expired.
582
   */
583
  public Session expire(RequestOptions options) throws StripeException {
584
    return expire((Map<String, Object>) null, options);
×
585
  }
586

587
  /**
588
   * A Session can be expired when it is in one of these statuses: {@code open}
589
   *
590
   * <p>After it expires, a customer can’t complete a Session and customers loading the Session see
591
   * a message saying the Session is expired.
592
   */
593
  public Session expire(Map<String, Object> params) throws StripeException {
594
    return expire(params, (RequestOptions) null);
×
595
  }
596

597
  /**
598
   * A Session can be expired when it is in one of these statuses: {@code open}
599
   *
600
   * <p>After it expires, a customer can’t complete a Session and customers loading the Session see
601
   * a message saying the Session is expired.
602
   */
603
  public Session expire(Map<String, Object> params, RequestOptions options) throws StripeException {
604
    String path =
×
605
        String.format("/v1/checkout/sessions/%s/expire", ApiResource.urlEncodeId(this.getId()));
×
606
    ApiRequest request =
×
607
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
608
    return getResponseGetter().request(request, Session.class);
×
609
  }
610

611
  /**
612
   * A Session can be expired when it is in one of these statuses: {@code open}
613
   *
614
   * <p>After it expires, a customer can’t complete a Session and customers loading the Session see
615
   * a message saying the Session is expired.
616
   */
617
  public Session expire(SessionExpireParams params) throws StripeException {
618
    return expire(params, (RequestOptions) null);
1✔
619
  }
620

621
  /**
622
   * A Session can be expired when it is in one of these statuses: {@code open}
623
   *
624
   * <p>After it expires, a customer can’t complete a Session and customers loading the Session see
625
   * a message saying the Session is expired.
626
   */
627
  public Session expire(SessionExpireParams params, RequestOptions options) throws StripeException {
628
    String path =
1✔
629
        String.format("/v1/checkout/sessions/%s/expire", ApiResource.urlEncodeId(this.getId()));
1✔
630
    ApiResource.checkNullTypedParams(path, params);
1✔
631
    ApiRequest request =
1✔
632
        new ApiRequest(
633
            BaseAddress.API,
634
            ApiResource.RequestMethod.POST,
635
            path,
636
            ApiRequestParams.paramsToMap(params),
1✔
637
            options);
638
    return getResponseGetter().request(request, Session.class);
1✔
639
  }
640

641
  /** Returns a list of Checkout Sessions. */
642
  public static SessionCollection list(Map<String, Object> params) throws StripeException {
643
    return list(params, (RequestOptions) null);
×
644
  }
645

646
  /** Returns a list of Checkout Sessions. */
647
  public static SessionCollection list(Map<String, Object> params, RequestOptions options)
648
      throws StripeException {
649
    String path = "/v1/checkout/sessions";
×
650
    ApiRequest request =
×
651
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
652
    return getGlobalResponseGetter().request(request, SessionCollection.class);
×
653
  }
654

655
  /** Returns a list of Checkout Sessions. */
656
  public static SessionCollection list(SessionListParams params) throws StripeException {
657
    return list(params, (RequestOptions) null);
1✔
658
  }
659

660
  /** Returns a list of Checkout Sessions. */
661
  public static SessionCollection list(SessionListParams params, RequestOptions options)
662
      throws StripeException {
663
    String path = "/v1/checkout/sessions";
1✔
664
    ApiResource.checkNullTypedParams(path, params);
1✔
665
    ApiRequest request =
1✔
666
        new ApiRequest(
667
            BaseAddress.API,
668
            ApiResource.RequestMethod.GET,
669
            path,
670
            ApiRequestParams.paramsToMap(params),
1✔
671
            options);
672
    return getGlobalResponseGetter().request(request, SessionCollection.class);
1✔
673
  }
674

675
  /**
676
   * When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property
677
   * containing the first handful of those items. There is also a URL where you can retrieve the
678
   * full (paginated) list of line items.
679
   */
680
  public LineItemCollection listLineItems() throws StripeException {
681
    return listLineItems((Map<String, Object>) null, (RequestOptions) null);
×
682
  }
683

684
  /**
685
   * When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property
686
   * containing the first handful of those items. There is also a URL where you can retrieve the
687
   * full (paginated) list of line items.
688
   */
689
  public LineItemCollection listLineItems(Map<String, Object> params) throws StripeException {
690
    return listLineItems(params, (RequestOptions) null);
×
691
  }
692

693
  /**
694
   * When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property
695
   * containing the first handful of those items. There is also a URL where you can retrieve the
696
   * full (paginated) list of line items.
697
   */
698
  public LineItemCollection listLineItems(Map<String, Object> params, RequestOptions options)
699
      throws StripeException {
700
    String path =
×
701
        String.format("/v1/checkout/sessions/%s/line_items", ApiResource.urlEncodeId(this.getId()));
×
702
    ApiRequest request =
×
703
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
704
    return getResponseGetter().request(request, LineItemCollection.class);
×
705
  }
706

707
  /**
708
   * When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property
709
   * containing the first handful of those items. There is also a URL where you can retrieve the
710
   * full (paginated) list of line items.
711
   */
712
  public LineItemCollection listLineItems(SessionListLineItemsParams params)
713
      throws StripeException {
714
    return listLineItems(params, (RequestOptions) null);
1✔
715
  }
716

717
  /**
718
   * When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property
719
   * containing the first handful of those items. There is also a URL where you can retrieve the
720
   * full (paginated) list of line items.
721
   */
722
  public LineItemCollection listLineItems(SessionListLineItemsParams params, RequestOptions options)
723
      throws StripeException {
724
    String path =
1✔
725
        String.format("/v1/checkout/sessions/%s/line_items", ApiResource.urlEncodeId(this.getId()));
1✔
726
    ApiResource.checkNullTypedParams(path, params);
1✔
727
    ApiRequest request =
1✔
728
        new ApiRequest(
729
            BaseAddress.API,
730
            ApiResource.RequestMethod.GET,
731
            path,
732
            ApiRequestParams.paramsToMap(params),
1✔
733
            options);
734
    return getResponseGetter().request(request, LineItemCollection.class);
1✔
735
  }
736

737
  /** Retrieves a Session object. */
738
  public static Session retrieve(String session) throws StripeException {
739
    return retrieve(session, (Map<String, Object>) null, (RequestOptions) null);
1✔
740
  }
741

742
  /** Retrieves a Session object. */
743
  public static Session retrieve(String session, RequestOptions options) throws StripeException {
744
    return retrieve(session, (Map<String, Object>) null, options);
×
745
  }
746

747
  /** Retrieves a Session object. */
748
  public static Session retrieve(String session, Map<String, Object> params, RequestOptions options)
749
      throws StripeException {
750
    String path = String.format("/v1/checkout/sessions/%s", ApiResource.urlEncodeId(session));
1✔
751
    ApiRequest request =
1✔
752
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
753
    return getGlobalResponseGetter().request(request, Session.class);
1✔
754
  }
755

756
  /** Retrieves a Session object. */
757
  public static Session retrieve(
758
      String session, SessionRetrieveParams params, RequestOptions options) throws StripeException {
759
    String path = String.format("/v1/checkout/sessions/%s", ApiResource.urlEncodeId(session));
×
760
    ApiResource.checkNullTypedParams(path, params);
×
761
    ApiRequest request =
×
762
        new ApiRequest(
763
            BaseAddress.API,
764
            ApiResource.RequestMethod.GET,
765
            path,
766
            ApiRequestParams.paramsToMap(params),
×
767
            options);
768
    return getGlobalResponseGetter().request(request, Session.class);
×
769
  }
770

771
  /** Updates a Session object. */
772
  @Override
773
  public Session update(Map<String, Object> params) throws StripeException {
774
    return update(params, (RequestOptions) null);
×
775
  }
776

777
  /** Updates a Session object. */
778
  @Override
779
  public Session update(Map<String, Object> params, RequestOptions options) throws StripeException {
780
    String path = String.format("/v1/checkout/sessions/%s", ApiResource.urlEncodeId(this.getId()));
×
781
    ApiRequest request =
×
782
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
783
    return getResponseGetter().request(request, Session.class);
×
784
  }
785

786
  /** Updates a Session object. */
787
  public Session update(SessionUpdateParams params) throws StripeException {
788
    return update(params, (RequestOptions) null);
×
789
  }
790

791
  /** Updates a Session object. */
792
  public Session update(SessionUpdateParams params, RequestOptions options) throws StripeException {
793
    String path = String.format("/v1/checkout/sessions/%s", ApiResource.urlEncodeId(this.getId()));
×
794
    ApiResource.checkNullTypedParams(path, params);
×
795
    ApiRequest request =
×
796
        new ApiRequest(
797
            BaseAddress.API,
798
            ApiResource.RequestMethod.POST,
799
            path,
800
            ApiRequestParams.paramsToMap(params),
×
801
            options);
802
    return getResponseGetter().request(request, Session.class);
×
803
  }
804

805
  /**
806
   * For more details about AdaptivePricing, please refer to the <a
807
   * href="https://docs.stripe.com/api">API Reference.</a>
808
   */
809
  @Getter
810
  @Setter
811
  @EqualsAndHashCode(callSuper = false)
812
  public static class AdaptivePricing extends StripeObject {
×
813
    /** Whether Adaptive Pricing is enabled. */
814
    @SerializedName("enabled")
815
    Boolean enabled;
816
  }
817

818
  /**
819
   * For more details about AfterExpiration, please refer to the <a
820
   * href="https://docs.stripe.com/api">API Reference.</a>
821
   */
822
  @Getter
823
  @Setter
824
  @EqualsAndHashCode(callSuper = false)
825
  public static class AfterExpiration extends StripeObject {
×
826
    /** When set, configuration used to recover the Checkout Session on expiry. */
827
    @SerializedName("recovery")
828
    Recovery recovery;
829

830
    /**
831
     * For more details about Recovery, please refer to the <a
832
     * href="https://docs.stripe.com/api">API Reference.</a>
833
     */
834
    @Getter
835
    @Setter
836
    @EqualsAndHashCode(callSuper = false)
837
    public static class Recovery extends StripeObject {
×
838
      /**
839
       * Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to
840
       * {@code false}
841
       */
842
      @SerializedName("allow_promotion_codes")
843
      Boolean allowPromotionCodes;
844

845
      /**
846
       * If {@code true}, a recovery url will be generated to recover this Checkout Session if it
847
       * expires before a transaction is completed. It will be attached to the Checkout Session
848
       * object upon expiration.
849
       */
850
      @SerializedName("enabled")
851
      Boolean enabled;
852

853
      /** The timestamp at which the recovery URL will expire. */
854
      @SerializedName("expires_at")
855
      Long expiresAt;
856

857
      /**
858
       * URL that creates a new Checkout Session when clicked that is a copy of this expired
859
       * Checkout Session.
860
       */
861
      @SerializedName("url")
862
      String url;
863
    }
864
  }
865

866
  /**
867
   * For more details about AutomaticTax, please refer to the <a
868
   * href="https://docs.stripe.com/api">API Reference.</a>
869
   */
870
  @Getter
871
  @Setter
872
  @EqualsAndHashCode(callSuper = false)
873
  public static class AutomaticTax extends StripeObject {
1✔
874
    /** Indicates whether automatic tax is enabled for the session. */
875
    @SerializedName("enabled")
876
    Boolean enabled;
877

878
    /**
879
     * The account that's liable for tax. If set, the business address and tax registrations
880
     * required to perform the tax calculation are loaded from this account. The tax transaction is
881
     * returned in the report of the connected account.
882
     */
883
    @SerializedName("liability")
884
    Liability liability;
885

886
    /**
887
     * The status of the most recent automated tax calculation for this session.
888
     *
889
     * <p>One of {@code complete}, {@code failed}, or {@code requires_location_inputs}.
890
     */
891
    @SerializedName("status")
892
    String status;
893

894
    /**
895
     * For more details about Liability, please refer to the <a
896
     * href="https://docs.stripe.com/api">API Reference.</a>
897
     */
898
    @Getter
899
    @Setter
900
    @EqualsAndHashCode(callSuper = false)
901
    public static class Liability extends StripeObject {
×
902
      /** The connected account being referenced when {@code type} is {@code account}. */
903
      @SerializedName("account")
904
      @Getter(lombok.AccessLevel.NONE)
905
      @Setter(lombok.AccessLevel.NONE)
906
      ExpandableField<Account> account;
907

908
      /**
909
       * Type of the account referenced.
910
       *
911
       * <p>One of {@code account}, or {@code self}.
912
       */
913
      @SerializedName("type")
914
      String type;
915

916
      /** Get ID of expandable {@code account} object. */
917
      public String getAccount() {
918
        return (this.account != null) ? this.account.getId() : null;
×
919
      }
920

921
      public void setAccount(String id) {
922
        this.account = ApiResource.setExpandableFieldId(id, this.account);
×
923
      }
×
924

925
      /** Get expanded {@code account}. */
926
      public Account getAccountObject() {
927
        return (this.account != null) ? this.account.getExpanded() : null;
×
928
      }
929

930
      public void setAccountObject(Account expandableObject) {
931
        this.account = new ExpandableField<Account>(expandableObject.getId(), expandableObject);
×
932
      }
×
933
    }
934
  }
935

936
  /**
937
   * For more details about Consent, please refer to the <a href="https://docs.stripe.com/api">API
938
   * Reference.</a>
939
   */
940
  @Getter
941
  @Setter
942
  @EqualsAndHashCode(callSuper = false)
943
  public static class Consent extends StripeObject {
×
944
    /**
945
     * If {@code opt_in}, the customer consents to receiving promotional communications from the
946
     * merchant about this Checkout Session.
947
     *
948
     * <p>One of {@code opt_in}, or {@code opt_out}.
949
     */
950
    @SerializedName("promotions")
951
    String promotions;
952

953
    /**
954
     * If {@code accepted}, the customer in this Checkout Session has agreed to the merchant's terms
955
     * of service.
956
     *
957
     * <p>Equal to {@code accepted}.
958
     */
959
    @SerializedName("terms_of_service")
960
    String termsOfService;
961
  }
962

963
  /**
964
   * For more details about ConsentCollection, please refer to the <a
965
   * href="https://docs.stripe.com/api">API Reference.</a>
966
   */
967
  @Getter
968
  @Setter
969
  @EqualsAndHashCode(callSuper = false)
970
  public static class ConsentCollection extends StripeObject {
×
971
    /**
972
     * If set to {@code hidden}, it will hide legal text related to the reuse of a payment method.
973
     */
974
    @SerializedName("payment_method_reuse_agreement")
975
    PaymentMethodReuseAgreement paymentMethodReuseAgreement;
976

977
    /**
978
     * If set to {@code auto}, enables the collection of customer consent for promotional
979
     * communications. The Checkout Session will determine whether to display an option to opt into
980
     * promotional communication from the merchant depending on the customer's locale. Only
981
     * available to US merchants.
982
     *
983
     * <p>One of {@code auto}, or {@code none}.
984
     */
985
    @SerializedName("promotions")
986
    String promotions;
987

988
    /**
989
     * If set to {@code required}, it requires customers to accept the terms of service before being
990
     * able to pay.
991
     *
992
     * <p>One of {@code none}, or {@code required}.
993
     */
994
    @SerializedName("terms_of_service")
995
    String termsOfService;
996

997
    /**
998
     * For more details about PaymentMethodReuseAgreement, please refer to the <a
999
     * href="https://docs.stripe.com/api">API Reference.</a>
1000
     */
1001
    @Getter
1002
    @Setter
1003
    @EqualsAndHashCode(callSuper = false)
1004
    public static class PaymentMethodReuseAgreement extends StripeObject {
×
1005
      /**
1006
       * Determines the position and visibility of the payment method reuse agreement in the UI.
1007
       * When set to {@code auto}, Stripe's defaults will be used.
1008
       *
1009
       * <p>When set to {@code hidden}, the payment method reuse agreement text will always be
1010
       * hidden in the UI.
1011
       *
1012
       * <p>One of {@code auto}, or {@code hidden}.
1013
       */
1014
      @SerializedName("position")
1015
      String position;
1016
    }
1017
  }
1018

1019
  /**
1020
   * For more details about CurrencyConversion, please refer to the <a
1021
   * href="https://docs.stripe.com/api">API Reference.</a>
1022
   */
1023
  @Getter
1024
  @Setter
1025
  @EqualsAndHashCode(callSuper = false)
1026
  public static class CurrencyConversion extends StripeObject {
×
1027
    /** Total of all items in source currency before discounts or taxes are applied. */
1028
    @SerializedName("amount_subtotal")
1029
    Long amountSubtotal;
1030

1031
    /** Total of all items in source currency after discounts and taxes are applied. */
1032
    @SerializedName("amount_total")
1033
    Long amountTotal;
1034

1035
    /** Exchange rate used to convert source currency amounts to customer currency amounts. */
1036
    @SerializedName("fx_rate")
1037
    BigDecimal fxRate;
1038

1039
    /** Creation currency of the CheckoutSession before localization. */
1040
    @SerializedName("source_currency")
1041
    String sourceCurrency;
1042
  }
1043

1044
  /**
1045
   * For more details about CustomField, please refer to the <a
1046
   * href="https://docs.stripe.com/api">API Reference.</a>
1047
   */
1048
  @Getter
1049
  @Setter
1050
  @EqualsAndHashCode(callSuper = false)
1051
  public static class CustomField extends StripeObject {
×
1052
    @SerializedName("dropdown")
1053
    Dropdown dropdown;
1054

1055
    /**
1056
     * String of your choice that your integration can use to reconcile this field. Must be unique
1057
     * to this field, alphanumeric, and up to 200 characters.
1058
     */
1059
    @SerializedName("key")
1060
    String key;
1061

1062
    @SerializedName("label")
1063
    Label label;
1064

1065
    @SerializedName("numeric")
1066
    Numeric numeric;
1067

1068
    /**
1069
     * Whether the customer is required to complete the field before completing the Checkout
1070
     * Session. Defaults to {@code false}.
1071
     */
1072
    @SerializedName("optional")
1073
    Boolean optional;
1074

1075
    @SerializedName("text")
1076
    Text text;
1077

1078
    /**
1079
     * The type of the field.
1080
     *
1081
     * <p>One of {@code dropdown}, {@code numeric}, or {@code text}.
1082
     */
1083
    @SerializedName("type")
1084
    String type;
1085

1086
    /**
1087
     * For more details about Dropdown, please refer to the <a
1088
     * href="https://docs.stripe.com/api">API Reference.</a>
1089
     */
1090
    @Getter
1091
    @Setter
1092
    @EqualsAndHashCode(callSuper = false)
1093
    public static class Dropdown extends StripeObject {
×
1094
      /** The value that will pre-fill on the payment page. */
1095
      @SerializedName("default_value")
1096
      String defaultValue;
1097

1098
      /** The options available for the customer to select. Up to 200 options allowed. */
1099
      @SerializedName("options")
1100
      List<Session.CustomField.Dropdown.Option> options;
1101

1102
      /** The option selected by the customer. This will be the {@code value} for the option. */
1103
      @SerializedName("value")
1104
      String value;
1105

1106
      /**
1107
       * For more details about Option, please refer to the <a
1108
       * href="https://docs.stripe.com/api">API Reference.</a>
1109
       */
1110
      @Getter
1111
      @Setter
1112
      @EqualsAndHashCode(callSuper = false)
1113
      public static class Option extends StripeObject {
×
1114
        /** The label for the option, displayed to the customer. Up to 100 characters. */
1115
        @SerializedName("label")
1116
        String label;
1117

1118
        /**
1119
         * The value for this option, not displayed to the customer, used by your integration to
1120
         * reconcile the option selected by the customer. Must be unique to this option,
1121
         * alphanumeric, and up to 100 characters.
1122
         */
1123
        @SerializedName("value")
1124
        String value;
1125
      }
1126
    }
1127

1128
    /**
1129
     * For more details about Label, please refer to the <a href="https://docs.stripe.com/api">API
1130
     * Reference.</a>
1131
     */
1132
    @Getter
1133
    @Setter
1134
    @EqualsAndHashCode(callSuper = false)
1135
    public static class Label extends StripeObject {
×
1136
      /** Custom text for the label, displayed to the customer. Up to 50 characters. */
1137
      @SerializedName("custom")
1138
      String custom;
1139

1140
      /**
1141
       * The type of the label.
1142
       *
1143
       * <p>Equal to {@code custom}.
1144
       */
1145
      @SerializedName("type")
1146
      String type;
1147
    }
1148

1149
    /**
1150
     * For more details about Numeric, please refer to the <a href="https://docs.stripe.com/api">API
1151
     * Reference.</a>
1152
     */
1153
    @Getter
1154
    @Setter
1155
    @EqualsAndHashCode(callSuper = false)
1156
    public static class Numeric extends StripeObject {
×
1157
      /** The value that will pre-fill the field on the payment page. */
1158
      @SerializedName("default_value")
1159
      String defaultValue;
1160

1161
      /** The maximum character length constraint for the customer's input. */
1162
      @SerializedName("maximum_length")
1163
      Long maximumLength;
1164

1165
      /** The minimum character length requirement for the customer's input. */
1166
      @SerializedName("minimum_length")
1167
      Long minimumLength;
1168

1169
      /** The value entered by the customer, containing only digits. */
1170
      @SerializedName("value")
1171
      String value;
1172
    }
1173

1174
    /**
1175
     * For more details about Text, please refer to the <a href="https://docs.stripe.com/api">API
1176
     * Reference.</a>
1177
     */
1178
    @Getter
1179
    @Setter
1180
    @EqualsAndHashCode(callSuper = false)
1181
    public static class Text extends StripeObject {
×
1182
      /** The value that will pre-fill the field on the payment page. */
1183
      @SerializedName("default_value")
1184
      String defaultValue;
1185

1186
      /** The maximum character length constraint for the customer's input. */
1187
      @SerializedName("maximum_length")
1188
      Long maximumLength;
1189

1190
      /** The minimum character length requirement for the customer's input. */
1191
      @SerializedName("minimum_length")
1192
      Long minimumLength;
1193

1194
      /** The value entered by the customer. */
1195
      @SerializedName("value")
1196
      String value;
1197
    }
1198
  }
1199

1200
  /**
1201
   * For more details about CustomText, please refer to the <a
1202
   * href="https://docs.stripe.com/api">API Reference.</a>
1203
   */
1204
  @Getter
1205
  @Setter
1206
  @EqualsAndHashCode(callSuper = false)
1207
  public static class CustomText extends StripeObject {
1✔
1208
    /** Custom text that should be displayed after the payment confirmation button. */
1209
    @SerializedName("after_submit")
1210
    AfterSubmit afterSubmit;
1211

1212
    /** Custom text that should be displayed alongside shipping address collection. */
1213
    @SerializedName("shipping_address")
1214
    ShippingAddress shippingAddress;
1215

1216
    /** Custom text that should be displayed alongside the payment confirmation button. */
1217
    @SerializedName("submit")
1218
    Submit submit;
1219

1220
    /**
1221
     * Custom text that should be displayed in place of the default terms of service agreement text.
1222
     */
1223
    @SerializedName("terms_of_service_acceptance")
1224
    TermsOfServiceAcceptance termsOfServiceAcceptance;
1225

1226
    /**
1227
     * For more details about AfterSubmit, 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 AfterSubmit extends StripeObject {
×
1234
      /** Text may be up to 1200 characters in length. */
1235
      @SerializedName("message")
1236
      String message;
1237
    }
1238

1239
    /**
1240
     * For more details about ShippingAddress, please refer to the <a
1241
     * href="https://docs.stripe.com/api">API Reference.</a>
1242
     */
1243
    @Getter
1244
    @Setter
1245
    @EqualsAndHashCode(callSuper = false)
1246
    public static class ShippingAddress extends StripeObject {
×
1247
      /** Text may be up to 1200 characters in length. */
1248
      @SerializedName("message")
1249
      String message;
1250
    }
1251

1252
    /**
1253
     * For more details about Submit, please refer to the <a href="https://docs.stripe.com/api">API
1254
     * Reference.</a>
1255
     */
1256
    @Getter
1257
    @Setter
1258
    @EqualsAndHashCode(callSuper = false)
1259
    public static class Submit extends StripeObject {
×
1260
      /** Text may be up to 1200 characters in length. */
1261
      @SerializedName("message")
1262
      String message;
1263
    }
1264

1265
    /**
1266
     * For more details about TermsOfServiceAcceptance, please refer to the <a
1267
     * href="https://docs.stripe.com/api">API Reference.</a>
1268
     */
1269
    @Getter
1270
    @Setter
1271
    @EqualsAndHashCode(callSuper = false)
1272
    public static class TermsOfServiceAcceptance extends StripeObject {
×
1273
      /** Text may be up to 1200 characters in length. */
1274
      @SerializedName("message")
1275
      String message;
1276
    }
1277
  }
1278

1279
  /**
1280
   * For more details about CustomerDetails, please refer to the <a
1281
   * href="https://docs.stripe.com/api">API Reference.</a>
1282
   */
1283
  @Getter
1284
  @Setter
1285
  @EqualsAndHashCode(callSuper = false)
1286
  public static class CustomerDetails extends StripeObject {
1✔
1287
    /**
1288
     * The customer's address after a completed Checkout Session. Note: This property is populated
1289
     * only for sessions on or after March 30, 2022.
1290
     */
1291
    @SerializedName("address")
1292
    Address address;
1293

1294
    /**
1295
     * The email associated with the Customer, if one exists, on the Checkout Session after a
1296
     * completed Checkout Session or at time of session expiry. Otherwise, if the customer has
1297
     * consented to promotional content, this value is the most recent valid email provided by the
1298
     * customer on the Checkout form.
1299
     */
1300
    @SerializedName("email")
1301
    String email;
1302

1303
    /**
1304
     * The customer's name after a completed Checkout Session. Note: This property is populated only
1305
     * for sessions on or after March 30, 2022.
1306
     */
1307
    @SerializedName("name")
1308
    String name;
1309

1310
    /** The customer's phone number after a completed Checkout Session. */
1311
    @SerializedName("phone")
1312
    String phone;
1313

1314
    /**
1315
     * The customer’s tax exempt status after a completed Checkout Session.
1316
     *
1317
     * <p>One of {@code exempt}, {@code none}, or {@code reverse}.
1318
     */
1319
    @SerializedName("tax_exempt")
1320
    String taxExempt;
1321

1322
    /** The customer’s tax IDs after a completed Checkout Session. */
1323
    @SerializedName("tax_ids")
1324
    List<Session.CustomerDetails.TaxId> taxIds;
1325

1326
    /**
1327
     * For more details about TaxId, please refer to the <a href="https://docs.stripe.com/api">API
1328
     * Reference.</a>
1329
     */
1330
    @Getter
1331
    @Setter
1332
    @EqualsAndHashCode(callSuper = false)
1333
    public static class TaxId extends StripeObject {
×
1334
      /**
1335
       * The type of the tax ID, one of {@code ad_nrt}, {@code ar_cuit}, {@code eu_vat}, {@code
1336
       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
1337
       * {@code do_rcn}, {@code ec_ruc}, {@code eu_oss_vat}, {@code hr_oib}, {@code pe_ruc}, {@code
1338
       * ro_tin}, {@code rs_pib}, {@code sv_nit}, {@code uy_ruc}, {@code ve_rif}, {@code vn_tin},
1339
       * {@code gb_vat}, {@code nz_gst}, {@code au_abn}, {@code au_arn}, {@code in_gst}, {@code
1340
       * no_vat}, {@code no_voec}, {@code za_vat}, {@code ch_vat}, {@code mx_rfc}, {@code sg_uen},
1341
       * {@code ru_inn}, {@code ru_kpp}, {@code ca_bn}, {@code hk_br}, {@code es_cif}, {@code
1342
       * tw_vat}, {@code th_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code li_uid},
1343
       * {@code li_vat}, {@code my_itn}, {@code us_ein}, {@code kr_brn}, {@code ca_qst}, {@code
1344
       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code my_sst},
1345
       * {@code sg_gst}, {@code ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code
1346
       * my_frp}, {@code il_vat}, {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic},
1347
       * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
1348
       * ph_tin}, {@code al_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat},
1349
       * {@code de_stn}, {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code
1350
       * md_vat}, {@code ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin},
1351
       * {@code cd_nif}, {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code
1352
       * gn_nif}, {@code mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan},
1353
       * {@code tj_tin}, {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
1354
       */
1355
      @SerializedName("type")
1356
      String type;
1357

1358
      /** The value of the tax ID. */
1359
      @SerializedName("value")
1360
      String value;
1361
    }
1362
  }
1363

1364
  /**
1365
   * For more details about InvoiceCreation, please refer to the <a
1366
   * href="https://docs.stripe.com/api">API Reference.</a>
1367
   */
1368
  @Getter
1369
  @Setter
1370
  @EqualsAndHashCode(callSuper = false)
1371
  public static class InvoiceCreation extends StripeObject {
×
1372
    /** Indicates whether invoice creation is enabled for the Checkout Session. */
1373
    @SerializedName("enabled")
1374
    Boolean enabled;
1375

1376
    @SerializedName("invoice_data")
1377
    InvoiceData invoiceData;
1378

1379
    /**
1380
     * For more details about InvoiceData, please refer to the <a
1381
     * href="https://docs.stripe.com/api">API Reference.</a>
1382
     */
1383
    @Getter
1384
    @Setter
1385
    @EqualsAndHashCode(callSuper = false)
1386
    public static class InvoiceData extends StripeObject {
×
1387
      /** The account tax IDs associated with the invoice. */
1388
      @SerializedName("account_tax_ids")
1389
      List<ExpandableField<com.stripe.model.TaxId>> accountTaxIds;
1390

1391
      /** Custom fields displayed on the invoice. */
1392
      @SerializedName("custom_fields")
1393
      List<Session.InvoiceCreation.InvoiceData.CustomField> customFields;
1394

1395
      /** An arbitrary string attached to the object. Often useful for displaying to users. */
1396
      @SerializedName("description")
1397
      String description;
1398

1399
      /** Footer displayed on the invoice. */
1400
      @SerializedName("footer")
1401
      String footer;
1402

1403
      /**
1404
       * The connected account that issues the invoice. The invoice is presented with the branding
1405
       * and support information of the specified account.
1406
       */
1407
      @SerializedName("issuer")
1408
      Issuer issuer;
1409

1410
      /**
1411
       * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can
1412
       * attach to an object. This can be useful for storing additional information about the object
1413
       * in a structured format.
1414
       */
1415
      @SerializedName("metadata")
1416
      Map<String, String> metadata;
1417

1418
      /** Options for invoice PDF rendering. */
1419
      @SerializedName("rendering_options")
1420
      RenderingOptions renderingOptions;
1421

1422
      /** Get IDs of expandable {@code accountTaxIds} object list. */
1423
      public List<String> getAccountTaxIds() {
1424
        return (this.accountTaxIds != null)
×
1425
            ? this.accountTaxIds.stream().map(x -> x.getId()).collect(Collectors.toList())
×
1426
            : null;
×
1427
      }
1428

1429
      public void setAccountTaxIds(List<String> ids) {
1430
        if (ids == null) {
×
1431
          this.accountTaxIds = null;
×
1432
          return;
×
1433
        }
1434
        if (this.accountTaxIds != null
×
1435
            && this.accountTaxIds.stream()
×
1436
                .map(x -> x.getId())
×
1437
                .collect(Collectors.toList())
×
1438
                .equals(ids)) {
×
1439
          // noop if the ids are equal to what are already present
1440
          return;
×
1441
        }
1442
        this.accountTaxIds =
×
1443
            (ids != null)
×
1444
                ? ids.stream()
×
1445
                    .map(id -> new ExpandableField<com.stripe.model.TaxId>(id, null))
×
1446
                    .collect(Collectors.toList())
×
1447
                : null;
×
1448
      }
×
1449

1450
      /** Get expanded {@code accountTaxIds}. */
1451
      public List<com.stripe.model.TaxId> getAccountTaxIdObjects() {
1452
        return (this.accountTaxIds != null)
×
1453
            ? this.accountTaxIds.stream().map(x -> x.getExpanded()).collect(Collectors.toList())
×
1454
            : null;
×
1455
      }
1456

1457
      public void setAccountTaxIdObjects(List<com.stripe.model.TaxId> objs) {
1458
        this.accountTaxIds =
×
1459
            objs != null
×
1460
                ? objs.stream()
×
1461
                    .map(x -> new ExpandableField<com.stripe.model.TaxId>(x.getId(), x))
×
1462
                    .collect(Collectors.toList())
×
1463
                : null;
×
1464
      }
×
1465

1466
      /**
1467
       * For more details about CustomField, please refer to the <a
1468
       * href="https://docs.stripe.com/api">API Reference.</a>
1469
       */
1470
      @Getter
1471
      @Setter
1472
      @EqualsAndHashCode(callSuper = false)
1473
      public static class CustomField extends StripeObject {
×
1474
        /** The name of the custom field. */
1475
        @SerializedName("name")
1476
        String name;
1477

1478
        /** The value of the custom field. */
1479
        @SerializedName("value")
1480
        String value;
1481
      }
1482

1483
      /**
1484
       * For more details about Issuer, please refer to the <a
1485
       * href="https://docs.stripe.com/api">API Reference.</a>
1486
       */
1487
      @Getter
1488
      @Setter
1489
      @EqualsAndHashCode(callSuper = false)
1490
      public static class Issuer extends StripeObject {
×
1491
        /** The connected account being referenced when {@code type} is {@code account}. */
1492
        @SerializedName("account")
1493
        @Getter(lombok.AccessLevel.NONE)
1494
        @Setter(lombok.AccessLevel.NONE)
1495
        ExpandableField<Account> account;
1496

1497
        /**
1498
         * Type of the account referenced.
1499
         *
1500
         * <p>One of {@code account}, or {@code self}.
1501
         */
1502
        @SerializedName("type")
1503
        String type;
1504

1505
        /** Get ID of expandable {@code account} object. */
1506
        public String getAccount() {
1507
          return (this.account != null) ? this.account.getId() : null;
×
1508
        }
1509

1510
        public void setAccount(String id) {
1511
          this.account = ApiResource.setExpandableFieldId(id, this.account);
×
1512
        }
×
1513

1514
        /** Get expanded {@code account}. */
1515
        public Account getAccountObject() {
1516
          return (this.account != null) ? this.account.getExpanded() : null;
×
1517
        }
1518

1519
        public void setAccountObject(Account expandableObject) {
1520
          this.account = new ExpandableField<Account>(expandableObject.getId(), expandableObject);
×
1521
        }
×
1522
      }
1523

1524
      /**
1525
       * For more details about RenderingOptions, please refer to the <a
1526
       * href="https://docs.stripe.com/api">API Reference.</a>
1527
       */
1528
      @Getter
1529
      @Setter
1530
      @EqualsAndHashCode(callSuper = false)
1531
      public static class RenderingOptions extends StripeObject {
×
1532
        /**
1533
         * How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
1534
         */
1535
        @SerializedName("amount_tax_display")
1536
        String amountTaxDisplay;
1537
      }
1538
    }
1539
  }
1540

1541
  /**
1542
   * For more details about PaymentMethodConfigurationDetails, please refer to the <a
1543
   * href="https://docs.stripe.com/api">API Reference.</a>
1544
   */
1545
  @Getter
1546
  @Setter
1547
  @EqualsAndHashCode(callSuper = false)
1548
  public static class PaymentMethodConfigurationDetails extends StripeObject implements HasId {
×
1549
    /** ID of the payment method configuration used. */
1550
    @Getter(onMethod_ = {@Override})
1551
    @SerializedName("id")
1552
    String id;
1553

1554
    /** ID of the parent payment method configuration used. */
1555
    @SerializedName("parent")
1556
    String parent;
1557
  }
1558

1559
  /**
1560
   * For more details about PaymentMethodOptions, please refer to the <a
1561
   * href="https://docs.stripe.com/api">API Reference.</a>
1562
   */
1563
  @Getter
1564
  @Setter
1565
  @EqualsAndHashCode(callSuper = false)
1566
  public static class PaymentMethodOptions extends StripeObject {
1✔
1567
    @SerializedName("acss_debit")
1568
    AcssDebit acssDebit;
1569

1570
    @SerializedName("affirm")
1571
    Affirm affirm;
1572

1573
    @SerializedName("afterpay_clearpay")
1574
    AfterpayClearpay afterpayClearpay;
1575

1576
    @SerializedName("alipay")
1577
    Alipay alipay;
1578

1579
    @SerializedName("amazon_pay")
1580
    AmazonPay amazonPay;
1581

1582
    @SerializedName("au_becs_debit")
1583
    AuBecsDebit auBecsDebit;
1584

1585
    @SerializedName("bacs_debit")
1586
    BacsDebit bacsDebit;
1587

1588
    @SerializedName("bancontact")
1589
    Bancontact bancontact;
1590

1591
    @SerializedName("boleto")
1592
    Boleto boleto;
1593

1594
    @SerializedName("card")
1595
    Card card;
1596

1597
    @SerializedName("cashapp")
1598
    Cashapp cashapp;
1599

1600
    @SerializedName("customer_balance")
1601
    CustomerBalance customerBalance;
1602

1603
    @SerializedName("eps")
1604
    Eps eps;
1605

1606
    @SerializedName("fpx")
1607
    Fpx fpx;
1608

1609
    @SerializedName("giropay")
1610
    Giropay giropay;
1611

1612
    @SerializedName("grabpay")
1613
    Grabpay grabpay;
1614

1615
    @SerializedName("ideal")
1616
    Ideal ideal;
1617

1618
    @SerializedName("kakao_pay")
1619
    KakaoPay kakaoPay;
1620

1621
    @SerializedName("klarna")
1622
    Klarna klarna;
1623

1624
    @SerializedName("konbini")
1625
    Konbini konbini;
1626

1627
    @SerializedName("kr_card")
1628
    KrCard krCard;
1629

1630
    @SerializedName("link")
1631
    Link link;
1632

1633
    @SerializedName("mobilepay")
1634
    Mobilepay mobilepay;
1635

1636
    @SerializedName("multibanco")
1637
    Multibanco multibanco;
1638

1639
    @SerializedName("naver_pay")
1640
    NaverPay naverPay;
1641

1642
    @SerializedName("oxxo")
1643
    Oxxo oxxo;
1644

1645
    @SerializedName("p24")
1646
    P24 p24;
1647

1648
    @SerializedName("payco")
1649
    Payco payco;
1650

1651
    @SerializedName("paynow")
1652
    Paynow paynow;
1653

1654
    @SerializedName("paypal")
1655
    Paypal paypal;
1656

1657
    @SerializedName("pix")
1658
    Pix pix;
1659

1660
    @SerializedName("revolut_pay")
1661
    RevolutPay revolutPay;
1662

1663
    @SerializedName("samsung_pay")
1664
    SamsungPay samsungPay;
1665

1666
    @SerializedName("sepa_debit")
1667
    SepaDebit sepaDebit;
1668

1669
    @SerializedName("sofort")
1670
    Sofort sofort;
1671

1672
    @SerializedName("swish")
1673
    Swish swish;
1674

1675
    @SerializedName("us_bank_account")
1676
    UsBankAccount usBankAccount;
1677

1678
    /**
1679
     * For more details about AcssDebit, please refer to the <a
1680
     * href="https://docs.stripe.com/api">API Reference.</a>
1681
     */
1682
    @Getter
1683
    @Setter
1684
    @EqualsAndHashCode(callSuper = false)
1685
    public static class AcssDebit extends StripeObject {
×
1686
      /**
1687
       * Currency supported by the bank account. Returned when the Session is in {@code setup} mode.
1688
       *
1689
       * <p>One of {@code cad}, or {@code usd}.
1690
       */
1691
      @SerializedName("currency")
1692
      String currency;
1693

1694
      @SerializedName("mandate_options")
1695
      MandateOptions mandateOptions;
1696

1697
      /**
1698
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1699
       *
1700
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1701
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1702
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1703
       * actions. If you don't provide a Customer, you can still <a
1704
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1705
       * Customer after the transaction completes.
1706
       *
1707
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1708
       * and attaches a <a
1709
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1710
       * payment method representing the card to the Customer instead.
1711
       *
1712
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1713
       * with regional legislation and network rules, such as <a
1714
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1715
       *
1716
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
1717
       */
1718
      @SerializedName("setup_future_usage")
1719
      String setupFutureUsage;
1720

1721
      /**
1722
       * Bank account verification method.
1723
       *
1724
       * <p>One of {@code automatic}, {@code instant}, or {@code microdeposits}.
1725
       */
1726
      @SerializedName("verification_method")
1727
      String verificationMethod;
1728

1729
      /**
1730
       * For more details about MandateOptions, please refer to the <a
1731
       * href="https://docs.stripe.com/api">API Reference.</a>
1732
       */
1733
      @Getter
1734
      @Setter
1735
      @EqualsAndHashCode(callSuper = false)
1736
      public static class MandateOptions extends StripeObject {
×
1737
        /** A URL for custom mandate text. */
1738
        @SerializedName("custom_mandate_url")
1739
        String customMandateUrl;
1740

1741
        /**
1742
         * List of Stripe products where this mandate can be selected automatically. Returned when
1743
         * the Session is in {@code setup} mode.
1744
         */
1745
        @SerializedName("default_for")
1746
        List<String> defaultFor;
1747

1748
        /**
1749
         * Description of the interval. Only required if the 'payment_schedule' parameter is
1750
         * 'interval' or 'combined'.
1751
         */
1752
        @SerializedName("interval_description")
1753
        String intervalDescription;
1754

1755
        /**
1756
         * Payment schedule for the mandate.
1757
         *
1758
         * <p>One of {@code combined}, {@code interval}, or {@code sporadic}.
1759
         */
1760
        @SerializedName("payment_schedule")
1761
        String paymentSchedule;
1762

1763
        /**
1764
         * Transaction type of the mandate.
1765
         *
1766
         * <p>One of {@code business}, or {@code personal}.
1767
         */
1768
        @SerializedName("transaction_type")
1769
        String transactionType;
1770
      }
1771
    }
1772

1773
    /**
1774
     * For more details about Affirm, please refer to the <a href="https://docs.stripe.com/api">API
1775
     * Reference.</a>
1776
     */
1777
    @Getter
1778
    @Setter
1779
    @EqualsAndHashCode(callSuper = false)
1780
    public static class Affirm extends StripeObject {
×
1781
      /**
1782
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1783
       *
1784
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1785
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1786
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1787
       * actions. If you don't provide a Customer, you can still <a
1788
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1789
       * Customer after the transaction completes.
1790
       *
1791
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1792
       * and attaches a <a
1793
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1794
       * payment method representing the card to the Customer instead.
1795
       *
1796
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1797
       * with regional legislation and network rules, such as <a
1798
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1799
       *
1800
       * <p>Equal to {@code none}.
1801
       */
1802
      @SerializedName("setup_future_usage")
1803
      String setupFutureUsage;
1804
    }
1805

1806
    /**
1807
     * For more details about AfterpayClearpay, please refer to the <a
1808
     * href="https://docs.stripe.com/api">API Reference.</a>
1809
     */
1810
    @Getter
1811
    @Setter
1812
    @EqualsAndHashCode(callSuper = false)
1813
    public static class AfterpayClearpay extends StripeObject {
×
1814
      /**
1815
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1816
       *
1817
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1818
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1819
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1820
       * actions. If you don't provide a Customer, you can still <a
1821
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1822
       * Customer after the transaction completes.
1823
       *
1824
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1825
       * and attaches a <a
1826
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1827
       * payment method representing the card to the Customer instead.
1828
       *
1829
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1830
       * with regional legislation and network rules, such as <a
1831
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1832
       *
1833
       * <p>Equal to {@code none}.
1834
       */
1835
      @SerializedName("setup_future_usage")
1836
      String setupFutureUsage;
1837
    }
1838

1839
    /**
1840
     * For more details about Alipay, please refer to the <a href="https://docs.stripe.com/api">API
1841
     * Reference.</a>
1842
     */
1843
    @Getter
1844
    @Setter
1845
    @EqualsAndHashCode(callSuper = false)
1846
    public static class Alipay extends StripeObject {
×
1847
      /**
1848
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1849
       *
1850
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1851
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1852
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1853
       * actions. If you don't provide a Customer, you can still <a
1854
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1855
       * Customer after the transaction completes.
1856
       *
1857
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1858
       * and attaches a <a
1859
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1860
       * payment method representing the card to the Customer instead.
1861
       *
1862
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1863
       * with regional legislation and network rules, such as <a
1864
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1865
       *
1866
       * <p>Equal to {@code none}.
1867
       */
1868
      @SerializedName("setup_future_usage")
1869
      String setupFutureUsage;
1870
    }
1871

1872
    /**
1873
     * For more details about AmazonPay, please refer to the <a
1874
     * href="https://docs.stripe.com/api">API Reference.</a>
1875
     */
1876
    @Getter
1877
    @Setter
1878
    @EqualsAndHashCode(callSuper = false)
1879
    public static class AmazonPay extends StripeObject {
×
1880
      /**
1881
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1882
       *
1883
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1884
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1885
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1886
       * actions. If you don't provide a Customer, you can still <a
1887
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1888
       * Customer after the transaction completes.
1889
       *
1890
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1891
       * and attaches a <a
1892
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1893
       * payment method representing the card to the Customer instead.
1894
       *
1895
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1896
       * with regional legislation and network rules, such as <a
1897
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1898
       *
1899
       * <p>One of {@code none}, or {@code off_session}.
1900
       */
1901
      @SerializedName("setup_future_usage")
1902
      String setupFutureUsage;
1903
    }
1904

1905
    /**
1906
     * For more details about AuBecsDebit, please refer to the <a
1907
     * href="https://docs.stripe.com/api">API Reference.</a>
1908
     */
1909
    @Getter
1910
    @Setter
1911
    @EqualsAndHashCode(callSuper = false)
1912
    public static class AuBecsDebit extends StripeObject {
×
1913
      /**
1914
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1915
       *
1916
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1917
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1918
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1919
       * actions. If you don't provide a Customer, you can still <a
1920
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1921
       * Customer after the transaction completes.
1922
       *
1923
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1924
       * and attaches a <a
1925
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1926
       * payment method representing the card to the Customer instead.
1927
       *
1928
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1929
       * with regional legislation and network rules, such as <a
1930
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1931
       *
1932
       * <p>Equal to {@code none}.
1933
       */
1934
      @SerializedName("setup_future_usage")
1935
      String setupFutureUsage;
1936
    }
1937

1938
    /**
1939
     * For more details about BacsDebit, please refer to the <a
1940
     * href="https://docs.stripe.com/api">API Reference.</a>
1941
     */
1942
    @Getter
1943
    @Setter
1944
    @EqualsAndHashCode(callSuper = false)
1945
    public static class BacsDebit extends StripeObject {
×
1946
      @SerializedName("mandate_options")
1947
      MandateOptions mandateOptions;
1948

1949
      /**
1950
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
1951
       *
1952
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
1953
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
1954
       * Customer after the PaymentIntent is confirmed and the customer completes any required
1955
       * actions. If you don't provide a Customer, you can still <a
1956
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
1957
       * Customer after the transaction completes.
1958
       *
1959
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
1960
       * and attaches a <a
1961
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
1962
       * payment method representing the card to the Customer instead.
1963
       *
1964
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
1965
       * with regional legislation and network rules, such as <a
1966
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
1967
       *
1968
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
1969
       */
1970
      @SerializedName("setup_future_usage")
1971
      String setupFutureUsage;
1972

1973
      /**
1974
       * For more details about MandateOptions, please refer to the <a
1975
       * href="https://docs.stripe.com/api">API Reference.</a>
1976
       */
1977
      @Getter
1978
      @Setter
1979
      @EqualsAndHashCode(callSuper = false)
NEW
1980
      public static class MandateOptions extends StripeObject {
×
1981
        /**
1982
         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
1983
         * consist of only uppercase letters, numbers, spaces, or the following special characters:
1984
         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
1985
         */
1986
        @SerializedName("reference_prefix")
1987
        String referencePrefix;
1988
      }
1989
    }
1990

1991
    /**
1992
     * For more details about Bancontact, please refer to the <a
1993
     * href="https://docs.stripe.com/api">API Reference.</a>
1994
     */
1995
    @Getter
1996
    @Setter
1997
    @EqualsAndHashCode(callSuper = false)
1998
    public static class Bancontact extends StripeObject {
×
1999
      /**
2000
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2001
       *
2002
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2003
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2004
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2005
       * actions. If you don't provide a Customer, you can still <a
2006
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2007
       * Customer after the transaction completes.
2008
       *
2009
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2010
       * and attaches a <a
2011
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2012
       * payment method representing the card to the Customer instead.
2013
       *
2014
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2015
       * with regional legislation and network rules, such as <a
2016
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2017
       *
2018
       * <p>Equal to {@code none}.
2019
       */
2020
      @SerializedName("setup_future_usage")
2021
      String setupFutureUsage;
2022
    }
2023

2024
    /**
2025
     * For more details about Boleto, please refer to the <a href="https://docs.stripe.com/api">API
2026
     * Reference.</a>
2027
     */
2028
    @Getter
2029
    @Setter
2030
    @EqualsAndHashCode(callSuper = false)
2031
    public static class Boleto extends StripeObject {
×
2032
      /**
2033
       * The number of calendar days before a Boleto voucher expires. For example, if you create a
2034
       * Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will
2035
       * expire on Wednesday at 23:59 America/Sao_Paulo time.
2036
       */
2037
      @SerializedName("expires_after_days")
2038
      Long expiresAfterDays;
2039

2040
      /**
2041
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2042
       *
2043
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2044
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2045
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2046
       * actions. If you don't provide a Customer, you can still <a
2047
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2048
       * Customer after the transaction completes.
2049
       *
2050
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2051
       * and attaches a <a
2052
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2053
       * payment method representing the card to the Customer instead.
2054
       *
2055
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2056
       * with regional legislation and network rules, such as <a
2057
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2058
       *
2059
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
2060
       */
2061
      @SerializedName("setup_future_usage")
2062
      String setupFutureUsage;
2063
    }
2064

2065
    /**
2066
     * For more details about Card, please refer to the <a href="https://docs.stripe.com/api">API
2067
     * Reference.</a>
2068
     */
2069
    @Getter
2070
    @Setter
2071
    @EqualsAndHashCode(callSuper = false)
2072
    public static class Card extends StripeObject {
×
2073
      @SerializedName("installments")
2074
      Installments installments;
2075

2076
      /**
2077
       * Request ability to <a href="https://stripe.com/payments/extended-authorization">capture
2078
       * beyond the standard authorization validity window</a> for this CheckoutSession.
2079
       *
2080
       * <p>One of {@code if_available}, or {@code never}.
2081
       */
2082
      @SerializedName("request_extended_authorization")
2083
      String requestExtendedAuthorization;
2084

2085
      /**
2086
       * Request ability to <a
2087
       * href="https://stripe.com/payments/incremental-authorization">increment the
2088
       * authorization</a> for this CheckoutSession.
2089
       *
2090
       * <p>One of {@code if_available}, or {@code never}.
2091
       */
2092
      @SerializedName("request_incremental_authorization")
2093
      String requestIncrementalAuthorization;
2094

2095
      /**
2096
       * Request ability to make <a href="https://stripe.com/payments/multicapture">multiple
2097
       * captures</a> for this CheckoutSession.
2098
       *
2099
       * <p>One of {@code if_available}, or {@code never}.
2100
       */
2101
      @SerializedName("request_multicapture")
2102
      String requestMulticapture;
2103

2104
      /**
2105
       * Request ability to <a href="https://stripe.com/payments/overcapture">overcapture</a> for
2106
       * this CheckoutSession.
2107
       *
2108
       * <p>One of {@code if_available}, or {@code never}.
2109
       */
2110
      @SerializedName("request_overcapture")
2111
      String requestOvercapture;
2112

2113
      /**
2114
       * We strongly recommend that you rely on our SCA Engine to automatically prompt your
2115
       * customers for authentication based on risk level and <a
2116
       * href="https://stripe.com/docs/strong-customer-authentication">other requirements</a>.
2117
       * However, if you wish to request 3D Secure based on logic from your own fraud engine,
2118
       * provide this option. If not provided, this value defaults to {@code automatic}. Read our
2119
       * guide on <a
2120
       * href="https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds">manually
2121
       * requesting 3D Secure</a> for more information on how this configuration interacts with
2122
       * Radar and our SCA Engine.
2123
       *
2124
       * <p>One of {@code any}, {@code automatic}, or {@code challenge}.
2125
       */
2126
      @SerializedName("request_three_d_secure")
2127
      String requestThreeDSecure;
2128

2129
      /**
2130
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2131
       *
2132
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2133
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2134
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2135
       * actions. If you don't provide a Customer, you can still <a
2136
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2137
       * Customer after the transaction completes.
2138
       *
2139
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2140
       * and attaches a <a
2141
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2142
       * payment method representing the card to the Customer instead.
2143
       *
2144
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2145
       * with regional legislation and network rules, such as <a
2146
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2147
       *
2148
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
2149
       */
2150
      @SerializedName("setup_future_usage")
2151
      String setupFutureUsage;
2152

2153
      /**
2154
       * Provides information about a card payment that customers see on their statements.
2155
       * Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor
2156
       * that’s set on the account to form the complete statement descriptor. Maximum 22 characters.
2157
       * On card statements, the <em>concatenation</em> of both prefix and suffix (including
2158
       * separators) will appear truncated to 22 characters.
2159
       */
2160
      @SerializedName("statement_descriptor_suffix_kana")
2161
      String statementDescriptorSuffixKana;
2162

2163
      /**
2164
       * Provides information about a card payment that customers see on their statements.
2165
       * Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement
2166
       * descriptor that’s set on the account to form the complete statement descriptor. Maximum 17
2167
       * characters. On card statements, the <em>concatenation</em> of both prefix and suffix
2168
       * (including separators) will appear truncated to 17 characters.
2169
       */
2170
      @SerializedName("statement_descriptor_suffix_kanji")
2171
      String statementDescriptorSuffixKanji;
2172

2173
      /**
2174
       * For more details about Installments, please refer to the <a
2175
       * href="https://docs.stripe.com/api">API Reference.</a>
2176
       */
2177
      @Getter
2178
      @Setter
2179
      @EqualsAndHashCode(callSuper = false)
2180
      public static class Installments extends StripeObject {
×
2181
        /** Indicates if installments are enabled. */
2182
        @SerializedName("enabled")
2183
        Boolean enabled;
2184
      }
2185
    }
2186

2187
    /**
2188
     * For more details about Cashapp, please refer to the <a href="https://docs.stripe.com/api">API
2189
     * Reference.</a>
2190
     */
2191
    @Getter
2192
    @Setter
2193
    @EqualsAndHashCode(callSuper = false)
2194
    public static class Cashapp extends StripeObject {
×
2195
      /**
2196
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2197
       *
2198
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2199
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2200
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2201
       * actions. If you don't provide a Customer, you can still <a
2202
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2203
       * Customer after the transaction completes.
2204
       *
2205
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2206
       * and attaches a <a
2207
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2208
       * payment method representing the card to the Customer instead.
2209
       *
2210
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2211
       * with regional legislation and network rules, such as <a
2212
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2213
       *
2214
       * <p>Equal to {@code none}.
2215
       */
2216
      @SerializedName("setup_future_usage")
2217
      String setupFutureUsage;
2218
    }
2219

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

2231
      /**
2232
       * The funding method type to be used when there are not enough funds in the customer balance.
2233
       * Permitted values include: {@code bank_transfer}.
2234
       *
2235
       * <p>Equal to {@code bank_transfer}.
2236
       */
2237
      @SerializedName("funding_type")
2238
      String fundingType;
2239

2240
      /**
2241
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2242
       *
2243
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2244
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2245
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2246
       * actions. If you don't provide a Customer, you can still <a
2247
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2248
       * Customer after the transaction completes.
2249
       *
2250
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2251
       * and attaches a <a
2252
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2253
       * payment method representing the card to the Customer instead.
2254
       *
2255
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2256
       * with regional legislation and network rules, such as <a
2257
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2258
       *
2259
       * <p>Equal to {@code none}.
2260
       */
2261
      @SerializedName("setup_future_usage")
2262
      String setupFutureUsage;
2263

2264
      /**
2265
       * For more details about BankTransfer, please refer to the <a
2266
       * href="https://docs.stripe.com/api">API Reference.</a>
2267
       */
2268
      @Getter
2269
      @Setter
2270
      @EqualsAndHashCode(callSuper = false)
2271
      public static class BankTransfer extends StripeObject {
×
2272
        @SerializedName("eu_bank_transfer")
2273
        EuBankTransfer euBankTransfer;
2274

2275
        /**
2276
         * List of address types that should be returned in the financial_addresses response. If not
2277
         * specified, all valid types will be returned.
2278
         *
2279
         * <p>Permitted values include: {@code sort_code}, {@code zengin}, {@code iban}, or {@code
2280
         * spei}.
2281
         */
2282
        @SerializedName("requested_address_types")
2283
        List<String> requestedAddressTypes;
2284

2285
        /**
2286
         * The bank transfer type that this PaymentIntent is allowed to use for funding Permitted
2287
         * values include: {@code eu_bank_transfer}, {@code gb_bank_transfer}, {@code
2288
         * jp_bank_transfer}, {@code mx_bank_transfer}, or {@code us_bank_transfer}.
2289
         *
2290
         * <p>One of {@code eu_bank_transfer}, {@code gb_bank_transfer}, {@code jp_bank_transfer},
2291
         * {@code mx_bank_transfer}, or {@code us_bank_transfer}.
2292
         */
2293
        @SerializedName("type")
2294
        String type;
2295

2296
        /**
2297
         * For more details about EuBankTransfer, please refer to the <a
2298
         * href="https://docs.stripe.com/api">API Reference.</a>
2299
         */
2300
        @Getter
2301
        @Setter
2302
        @EqualsAndHashCode(callSuper = false)
2303
        public static class EuBankTransfer extends StripeObject {
×
2304
          /**
2305
           * The desired country code of the bank account information. Permitted values include:
2306
           * {@code BE}, {@code DE}, {@code ES}, {@code FR}, {@code IE}, or {@code NL}.
2307
           *
2308
           * <p>One of {@code BE}, {@code DE}, {@code ES}, {@code FR}, {@code IE}, or {@code NL}.
2309
           */
2310
          @SerializedName("country")
2311
          String country;
2312
        }
2313
      }
2314
    }
2315

2316
    /**
2317
     * For more details about Eps, please refer to the <a href="https://docs.stripe.com/api">API
2318
     * Reference.</a>
2319
     */
2320
    @Getter
2321
    @Setter
2322
    @EqualsAndHashCode(callSuper = false)
2323
    public static class Eps extends StripeObject {
×
2324
      /**
2325
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2326
       *
2327
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2328
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2329
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2330
       * actions. If you don't provide a Customer, you can still <a
2331
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2332
       * Customer after the transaction completes.
2333
       *
2334
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2335
       * and attaches a <a
2336
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2337
       * payment method representing the card to the Customer instead.
2338
       *
2339
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2340
       * with regional legislation and network rules, such as <a
2341
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2342
       *
2343
       * <p>Equal to {@code none}.
2344
       */
2345
      @SerializedName("setup_future_usage")
2346
      String setupFutureUsage;
2347
    }
2348

2349
    /**
2350
     * For more details about Fpx, please refer to the <a href="https://docs.stripe.com/api">API
2351
     * Reference.</a>
2352
     */
2353
    @Getter
2354
    @Setter
2355
    @EqualsAndHashCode(callSuper = false)
2356
    public static class Fpx extends StripeObject {
×
2357
      /**
2358
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2359
       *
2360
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2361
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2362
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2363
       * actions. If you don't provide a Customer, you can still <a
2364
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2365
       * Customer after the transaction completes.
2366
       *
2367
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2368
       * and attaches a <a
2369
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2370
       * payment method representing the card to the Customer instead.
2371
       *
2372
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2373
       * with regional legislation and network rules, such as <a
2374
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2375
       *
2376
       * <p>Equal to {@code none}.
2377
       */
2378
      @SerializedName("setup_future_usage")
2379
      String setupFutureUsage;
2380
    }
2381

2382
    /**
2383
     * For more details about Giropay, please refer to the <a href="https://docs.stripe.com/api">API
2384
     * Reference.</a>
2385
     */
2386
    @Getter
2387
    @Setter
2388
    @EqualsAndHashCode(callSuper = false)
2389
    public static class Giropay extends StripeObject {
×
2390
      /**
2391
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2392
       *
2393
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2394
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2395
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2396
       * actions. If you don't provide a Customer, you can still <a
2397
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2398
       * Customer after the transaction completes.
2399
       *
2400
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2401
       * and attaches a <a
2402
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2403
       * payment method representing the card to the Customer instead.
2404
       *
2405
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2406
       * with regional legislation and network rules, such as <a
2407
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2408
       *
2409
       * <p>Equal to {@code none}.
2410
       */
2411
      @SerializedName("setup_future_usage")
2412
      String setupFutureUsage;
2413
    }
2414

2415
    /**
2416
     * For more details about Grabpay, please refer to the <a href="https://docs.stripe.com/api">API
2417
     * Reference.</a>
2418
     */
2419
    @Getter
2420
    @Setter
2421
    @EqualsAndHashCode(callSuper = false)
2422
    public static class Grabpay extends StripeObject {
×
2423
      /**
2424
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2425
       *
2426
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2427
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2428
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2429
       * actions. If you don't provide a Customer, you can still <a
2430
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2431
       * Customer after the transaction completes.
2432
       *
2433
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2434
       * and attaches a <a
2435
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2436
       * payment method representing the card to the Customer instead.
2437
       *
2438
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2439
       * with regional legislation and network rules, such as <a
2440
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2441
       *
2442
       * <p>Equal to {@code none}.
2443
       */
2444
      @SerializedName("setup_future_usage")
2445
      String setupFutureUsage;
2446
    }
2447

2448
    /**
2449
     * For more details about Ideal, please refer to the <a href="https://docs.stripe.com/api">API
2450
     * Reference.</a>
2451
     */
2452
    @Getter
2453
    @Setter
2454
    @EqualsAndHashCode(callSuper = false)
2455
    public static class Ideal extends StripeObject {
×
2456
      /**
2457
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2458
       *
2459
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2460
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2461
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2462
       * actions. If you don't provide a Customer, you can still <a
2463
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2464
       * Customer after the transaction completes.
2465
       *
2466
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2467
       * and attaches a <a
2468
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2469
       * payment method representing the card to the Customer instead.
2470
       *
2471
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2472
       * with regional legislation and network rules, such as <a
2473
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2474
       *
2475
       * <p>Equal to {@code none}.
2476
       */
2477
      @SerializedName("setup_future_usage")
2478
      String setupFutureUsage;
2479
    }
2480

2481
    /**
2482
     * For more details about KakaoPay, please refer to the <a
2483
     * href="https://docs.stripe.com/api">API Reference.</a>
2484
     */
2485
    @Getter
2486
    @Setter
2487
    @EqualsAndHashCode(callSuper = false)
2488
    public static class KakaoPay extends StripeObject {
×
2489
      /**
2490
       * Controls when the funds will be captured from the customer's account.
2491
       *
2492
       * <p>Equal to {@code manual}.
2493
       */
2494
      @SerializedName("capture_method")
2495
      String captureMethod;
2496

2497
      /**
2498
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2499
       *
2500
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2501
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2502
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2503
       * actions. If you don't provide a Customer, you can still <a
2504
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2505
       * Customer after the transaction completes.
2506
       *
2507
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2508
       * and attaches a <a
2509
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2510
       * payment method representing the card to the Customer instead.
2511
       *
2512
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2513
       * with regional legislation and network rules, such as <a
2514
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2515
       *
2516
       * <p>One of {@code none}, or {@code off_session}.
2517
       */
2518
      @SerializedName("setup_future_usage")
2519
      String setupFutureUsage;
2520
    }
2521

2522
    /**
2523
     * For more details about Klarna, please refer to the <a href="https://docs.stripe.com/api">API
2524
     * Reference.</a>
2525
     */
2526
    @Getter
2527
    @Setter
2528
    @EqualsAndHashCode(callSuper = false)
2529
    public static class Klarna extends StripeObject {
×
2530
      /**
2531
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2532
       *
2533
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2534
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2535
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2536
       * actions. If you don't provide a Customer, you can still <a
2537
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2538
       * Customer after the transaction completes.
2539
       *
2540
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2541
       * and attaches a <a
2542
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2543
       * payment method representing the card to the Customer instead.
2544
       *
2545
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2546
       * with regional legislation and network rules, such as <a
2547
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2548
       *
2549
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
2550
       */
2551
      @SerializedName("setup_future_usage")
2552
      String setupFutureUsage;
2553
    }
2554

2555
    /**
2556
     * For more details about Konbini, please refer to the <a href="https://docs.stripe.com/api">API
2557
     * Reference.</a>
2558
     */
2559
    @Getter
2560
    @Setter
2561
    @EqualsAndHashCode(callSuper = false)
2562
    public static class Konbini extends StripeObject {
×
2563
      /**
2564
       * The number of calendar days (between 1 and 60) after which Konbini payment instructions
2565
       * will expire. For example, if a PaymentIntent is confirmed with Konbini and {@code
2566
       * expires_after_days} set to 2 on Monday JST, the instructions will expire on Wednesday
2567
       * 23:59:59 JST.
2568
       */
2569
      @SerializedName("expires_after_days")
2570
      Long expiresAfterDays;
2571

2572
      /**
2573
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2574
       *
2575
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2576
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2577
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2578
       * actions. If you don't provide a Customer, you can still <a
2579
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2580
       * Customer after the transaction completes.
2581
       *
2582
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2583
       * and attaches a <a
2584
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2585
       * payment method representing the card to the Customer instead.
2586
       *
2587
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2588
       * with regional legislation and network rules, such as <a
2589
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2590
       *
2591
       * <p>Equal to {@code none}.
2592
       */
2593
      @SerializedName("setup_future_usage")
2594
      String setupFutureUsage;
2595
    }
2596

2597
    /**
2598
     * For more details about KrCard, please refer to the <a href="https://docs.stripe.com/api">API
2599
     * Reference.</a>
2600
     */
2601
    @Getter
2602
    @Setter
2603
    @EqualsAndHashCode(callSuper = false)
2604
    public static class KrCard extends StripeObject {
×
2605
      /**
2606
       * Controls when the funds will be captured from the customer's account.
2607
       *
2608
       * <p>Equal to {@code manual}.
2609
       */
2610
      @SerializedName("capture_method")
2611
      String captureMethod;
2612

2613
      /**
2614
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2615
       *
2616
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2617
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2618
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2619
       * actions. If you don't provide a Customer, you can still <a
2620
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2621
       * Customer after the transaction completes.
2622
       *
2623
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2624
       * and attaches a <a
2625
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2626
       * payment method representing the card to the Customer instead.
2627
       *
2628
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2629
       * with regional legislation and network rules, such as <a
2630
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2631
       *
2632
       * <p>One of {@code none}, or {@code off_session}.
2633
       */
2634
      @SerializedName("setup_future_usage")
2635
      String setupFutureUsage;
2636
    }
2637

2638
    /**
2639
     * For more details about Link, please refer to the <a href="https://docs.stripe.com/api">API
2640
     * Reference.</a>
2641
     */
2642
    @Getter
2643
    @Setter
2644
    @EqualsAndHashCode(callSuper = false)
2645
    public static class Link extends StripeObject {
×
2646
      /**
2647
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2648
       *
2649
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2650
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2651
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2652
       * actions. If you don't provide a Customer, you can still <a
2653
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2654
       * Customer after the transaction completes.
2655
       *
2656
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2657
       * and attaches a <a
2658
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2659
       * payment method representing the card to the Customer instead.
2660
       *
2661
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2662
       * with regional legislation and network rules, such as <a
2663
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2664
       *
2665
       * <p>One of {@code none}, or {@code off_session}.
2666
       */
2667
      @SerializedName("setup_future_usage")
2668
      String setupFutureUsage;
2669
    }
2670

2671
    /**
2672
     * For more details about Mobilepay, please refer to the <a
2673
     * href="https://docs.stripe.com/api">API Reference.</a>
2674
     */
2675
    @Getter
2676
    @Setter
2677
    @EqualsAndHashCode(callSuper = false)
2678
    public static class Mobilepay extends StripeObject {
×
2679
      /**
2680
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2681
       *
2682
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2683
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2684
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2685
       * actions. If you don't provide a Customer, you can still <a
2686
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2687
       * Customer after the transaction completes.
2688
       *
2689
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2690
       * and attaches a <a
2691
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2692
       * payment method representing the card to the Customer instead.
2693
       *
2694
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2695
       * with regional legislation and network rules, such as <a
2696
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2697
       *
2698
       * <p>Equal to {@code none}.
2699
       */
2700
      @SerializedName("setup_future_usage")
2701
      String setupFutureUsage;
2702
    }
2703

2704
    /**
2705
     * For more details about Multibanco, please refer to the <a
2706
     * href="https://docs.stripe.com/api">API Reference.</a>
2707
     */
2708
    @Getter
2709
    @Setter
2710
    @EqualsAndHashCode(callSuper = false)
2711
    public static class Multibanco extends StripeObject {
×
2712
      /**
2713
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2714
       *
2715
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2716
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2717
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2718
       * actions. If you don't provide a Customer, you can still <a
2719
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2720
       * Customer after the transaction completes.
2721
       *
2722
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2723
       * and attaches a <a
2724
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2725
       * payment method representing the card to the Customer instead.
2726
       *
2727
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2728
       * with regional legislation and network rules, such as <a
2729
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2730
       *
2731
       * <p>Equal to {@code none}.
2732
       */
2733
      @SerializedName("setup_future_usage")
2734
      String setupFutureUsage;
2735
    }
2736

2737
    /**
2738
     * For more details about NaverPay, please refer to the <a
2739
     * href="https://docs.stripe.com/api">API Reference.</a>
2740
     */
2741
    @Getter
2742
    @Setter
2743
    @EqualsAndHashCode(callSuper = false)
2744
    public static class NaverPay extends StripeObject {
×
2745
      /**
2746
       * Controls when the funds will be captured from the customer's account.
2747
       *
2748
       * <p>Equal to {@code manual}.
2749
       */
2750
      @SerializedName("capture_method")
2751
      String captureMethod;
2752
    }
2753

2754
    /**
2755
     * For more details about Oxxo, please refer to the <a href="https://docs.stripe.com/api">API
2756
     * Reference.</a>
2757
     */
2758
    @Getter
2759
    @Setter
2760
    @EqualsAndHashCode(callSuper = false)
2761
    public static class Oxxo extends StripeObject {
×
2762
      /**
2763
       * The number of calendar days before an OXXO invoice expires. For example, if you create an
2764
       * OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on
2765
       * Wednesday at 23:59 America/Mexico_City time.
2766
       */
2767
      @SerializedName("expires_after_days")
2768
      Long expiresAfterDays;
2769

2770
      /**
2771
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2772
       *
2773
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2774
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2775
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2776
       * actions. If you don't provide a Customer, you can still <a
2777
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2778
       * Customer after the transaction completes.
2779
       *
2780
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2781
       * and attaches a <a
2782
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2783
       * payment method representing the card to the Customer instead.
2784
       *
2785
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2786
       * with regional legislation and network rules, such as <a
2787
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2788
       *
2789
       * <p>Equal to {@code none}.
2790
       */
2791
      @SerializedName("setup_future_usage")
2792
      String setupFutureUsage;
2793
    }
2794

2795
    /**
2796
     * For more details about P24, please refer to the <a href="https://docs.stripe.com/api">API
2797
     * Reference.</a>
2798
     */
2799
    @Getter
2800
    @Setter
2801
    @EqualsAndHashCode(callSuper = false)
2802
    public static class P24 extends StripeObject {
×
2803
      /**
2804
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2805
       *
2806
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2807
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2808
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2809
       * actions. If you don't provide a Customer, you can still <a
2810
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2811
       * Customer after the transaction completes.
2812
       *
2813
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2814
       * and attaches a <a
2815
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2816
       * payment method representing the card to the Customer instead.
2817
       *
2818
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2819
       * with regional legislation and network rules, such as <a
2820
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2821
       *
2822
       * <p>Equal to {@code none}.
2823
       */
2824
      @SerializedName("setup_future_usage")
2825
      String setupFutureUsage;
2826
    }
2827

2828
    /**
2829
     * For more details about Payco, please refer to the <a href="https://docs.stripe.com/api">API
2830
     * Reference.</a>
2831
     */
2832
    @Getter
2833
    @Setter
2834
    @EqualsAndHashCode(callSuper = false)
2835
    public static class Payco extends StripeObject {
×
2836
      /**
2837
       * Controls when the funds will be captured from the customer's account.
2838
       *
2839
       * <p>Equal to {@code manual}.
2840
       */
2841
      @SerializedName("capture_method")
2842
      String captureMethod;
2843
    }
2844

2845
    /**
2846
     * For more details about Paynow, please refer to the <a href="https://docs.stripe.com/api">API
2847
     * Reference.</a>
2848
     */
2849
    @Getter
2850
    @Setter
2851
    @EqualsAndHashCode(callSuper = false)
2852
    public static class Paynow extends StripeObject {
×
2853
      /**
2854
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2855
       *
2856
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2857
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2858
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2859
       * actions. If you don't provide a Customer, you can still <a
2860
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2861
       * Customer after the transaction completes.
2862
       *
2863
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2864
       * and attaches a <a
2865
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2866
       * payment method representing the card to the Customer instead.
2867
       *
2868
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2869
       * with regional legislation and network rules, such as <a
2870
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2871
       *
2872
       * <p>Equal to {@code none}.
2873
       */
2874
      @SerializedName("setup_future_usage")
2875
      String setupFutureUsage;
2876
    }
2877

2878
    /**
2879
     * For more details about Paypal, please refer to the <a href="https://docs.stripe.com/api">API
2880
     * Reference.</a>
2881
     */
2882
    @Getter
2883
    @Setter
2884
    @EqualsAndHashCode(callSuper = false)
2885
    public static class Paypal extends StripeObject {
×
2886
      /**
2887
       * Controls when the funds will be captured from the customer's account.
2888
       *
2889
       * <p>Equal to {@code manual}.
2890
       */
2891
      @SerializedName("capture_method")
2892
      String captureMethod;
2893

2894
      /** Preferred locale of the PayPal checkout page that the customer is redirected to. */
2895
      @SerializedName("preferred_locale")
2896
      String preferredLocale;
2897

2898
      /**
2899
       * A reference of the PayPal transaction visible to customer which is mapped to PayPal's
2900
       * invoice ID. This must be a globally unique ID if you have configured in your PayPal
2901
       * settings to block multiple payments per invoice ID.
2902
       */
2903
      @SerializedName("reference")
2904
      String reference;
2905

2906
      /**
2907
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2908
       *
2909
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2910
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2911
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2912
       * actions. If you don't provide a Customer, you can still <a
2913
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2914
       * Customer after the transaction completes.
2915
       *
2916
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2917
       * and attaches a <a
2918
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2919
       * payment method representing the card to the Customer instead.
2920
       *
2921
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2922
       * with regional legislation and network rules, such as <a
2923
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2924
       *
2925
       * <p>One of {@code none}, or {@code off_session}.
2926
       */
2927
      @SerializedName("setup_future_usage")
2928
      String setupFutureUsage;
2929
    }
2930

2931
    /**
2932
     * For more details about Pix, please refer to the <a href="https://docs.stripe.com/api">API
2933
     * Reference.</a>
2934
     */
2935
    @Getter
2936
    @Setter
2937
    @EqualsAndHashCode(callSuper = false)
2938
    public static class Pix extends StripeObject {
×
2939
      /** The number of seconds after which Pix payment will expire. */
2940
      @SerializedName("expires_after_seconds")
2941
      Long expiresAfterSeconds;
2942
    }
2943

2944
    /**
2945
     * For more details about RevolutPay, please refer to the <a
2946
     * href="https://docs.stripe.com/api">API Reference.</a>
2947
     */
2948
    @Getter
2949
    @Setter
2950
    @EqualsAndHashCode(callSuper = false)
2951
    public static class RevolutPay extends StripeObject {
×
2952
      /**
2953
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
2954
       *
2955
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
2956
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
2957
       * Customer after the PaymentIntent is confirmed and the customer completes any required
2958
       * actions. If you don't provide a Customer, you can still <a
2959
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
2960
       * Customer after the transaction completes.
2961
       *
2962
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
2963
       * and attaches a <a
2964
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
2965
       * payment method representing the card to the Customer instead.
2966
       *
2967
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
2968
       * with regional legislation and network rules, such as <a
2969
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
2970
       *
2971
       * <p>One of {@code none}, or {@code off_session}.
2972
       */
2973
      @SerializedName("setup_future_usage")
2974
      String setupFutureUsage;
2975
    }
2976

2977
    /**
2978
     * For more details about SamsungPay, please refer to the <a
2979
     * href="https://docs.stripe.com/api">API Reference.</a>
2980
     */
2981
    @Getter
2982
    @Setter
2983
    @EqualsAndHashCode(callSuper = false)
2984
    public static class SamsungPay extends StripeObject {
×
2985
      /**
2986
       * Controls when the funds will be captured from the customer's account.
2987
       *
2988
       * <p>Equal to {@code manual}.
2989
       */
2990
      @SerializedName("capture_method")
2991
      String captureMethod;
2992
    }
2993

2994
    /**
2995
     * For more details about SepaDebit, please refer to the <a
2996
     * href="https://docs.stripe.com/api">API Reference.</a>
2997
     */
2998
    @Getter
2999
    @Setter
3000
    @EqualsAndHashCode(callSuper = false)
3001
    public static class SepaDebit extends StripeObject {
×
3002
      @SerializedName("mandate_options")
3003
      MandateOptions mandateOptions;
3004

3005
      /**
3006
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
3007
       *
3008
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
3009
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
3010
       * Customer after the PaymentIntent is confirmed and the customer completes any required
3011
       * actions. If you don't provide a Customer, you can still <a
3012
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
3013
       * Customer after the transaction completes.
3014
       *
3015
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
3016
       * and attaches a <a
3017
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
3018
       * payment method representing the card to the Customer instead.
3019
       *
3020
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
3021
       * with regional legislation and network rules, such as <a
3022
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
3023
       *
3024
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
3025
       */
3026
      @SerializedName("setup_future_usage")
3027
      String setupFutureUsage;
3028

3029
      /**
3030
       * For more details about MandateOptions, please refer to the <a
3031
       * href="https://docs.stripe.com/api">API Reference.</a>
3032
       */
3033
      @Getter
3034
      @Setter
3035
      @EqualsAndHashCode(callSuper = false)
NEW
3036
      public static class MandateOptions extends StripeObject {
×
3037
        /**
3038
         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
3039
         * consist of only uppercase letters, numbers, spaces, or the following special characters:
3040
         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
3041
         */
3042
        @SerializedName("reference_prefix")
3043
        String referencePrefix;
3044
      }
3045
    }
3046

3047
    /**
3048
     * For more details about Sofort, please refer to the <a href="https://docs.stripe.com/api">API
3049
     * Reference.</a>
3050
     */
3051
    @Getter
3052
    @Setter
3053
    @EqualsAndHashCode(callSuper = false)
3054
    public static class Sofort extends StripeObject {
×
3055
      /**
3056
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
3057
       *
3058
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
3059
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
3060
       * Customer after the PaymentIntent is confirmed and the customer completes any required
3061
       * actions. If you don't provide a Customer, you can still <a
3062
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
3063
       * Customer after the transaction completes.
3064
       *
3065
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
3066
       * and attaches a <a
3067
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
3068
       * payment method representing the card to the Customer instead.
3069
       *
3070
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
3071
       * with regional legislation and network rules, such as <a
3072
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
3073
       *
3074
       * <p>Equal to {@code none}.
3075
       */
3076
      @SerializedName("setup_future_usage")
3077
      String setupFutureUsage;
3078
    }
3079

3080
    /**
3081
     * For more details about Swish, please refer to the <a href="https://docs.stripe.com/api">API
3082
     * Reference.</a>
3083
     */
3084
    @Getter
3085
    @Setter
3086
    @EqualsAndHashCode(callSuper = false)
3087
    public static class Swish extends StripeObject {
×
3088
      /**
3089
       * The order reference that will be displayed to customers in the Swish application. Defaults
3090
       * to the {@code id} of the Payment Intent.
3091
       */
3092
      @SerializedName("reference")
3093
      String reference;
3094
    }
3095

3096
    /**
3097
     * For more details about UsBankAccount, please refer to the <a
3098
     * href="https://docs.stripe.com/api">API Reference.</a>
3099
     */
3100
    @Getter
3101
    @Setter
3102
    @EqualsAndHashCode(callSuper = false)
3103
    public static class UsBankAccount extends StripeObject {
×
3104
      @SerializedName("financial_connections")
3105
      FinancialConnections financialConnections;
3106

3107
      /**
3108
       * Indicates that you intend to make future payments with this PaymentIntent's payment method.
3109
       *
3110
       * <p>If you provide a Customer with the PaymentIntent, you can use this parameter to <a
3111
       * href="https://stripe.com/payments/save-during-payment">attach the payment method</a> to the
3112
       * Customer after the PaymentIntent is confirmed and the customer completes any required
3113
       * actions. If you don't provide a Customer, you can still <a
3114
       * href="https://stripe.com/api/payment_methods/attach">attach</a> the payment method to a
3115
       * Customer after the transaction completes.
3116
       *
3117
       * <p>If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates
3118
       * and attaches a <a
3119
       * href="https://stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card">generated_card</a>
3120
       * payment method representing the card to the Customer instead.
3121
       *
3122
       * <p>When processing card payments, Stripe uses {@code setup_future_usage} to help you comply
3123
       * with regional legislation and network rules, such as <a
3124
       * href="https://stripe.com/strong-customer-authentication">SCA</a>.
3125
       *
3126
       * <p>One of {@code none}, {@code off_session}, or {@code on_session}.
3127
       */
3128
      @SerializedName("setup_future_usage")
3129
      String setupFutureUsage;
3130

3131
      /**
3132
       * Bank account verification method.
3133
       *
3134
       * <p>One of {@code automatic}, or {@code instant}.
3135
       */
3136
      @SerializedName("verification_method")
3137
      String verificationMethod;
3138

3139
      /**
3140
       * For more details about FinancialConnections, please refer to the <a
3141
       * href="https://docs.stripe.com/api">API Reference.</a>
3142
       */
3143
      @Getter
3144
      @Setter
3145
      @EqualsAndHashCode(callSuper = false)
3146
      public static class FinancialConnections extends StripeObject {
×
3147
        @SerializedName("filters")
3148
        Filters filters;
3149

3150
        /**
3151
         * The list of permissions to request. The {@code payment_method} permission must be
3152
         * included.
3153
         */
3154
        @SerializedName("permissions")
3155
        List<String> permissions;
3156

3157
        /** Data features requested to be retrieved upon account creation. */
3158
        @SerializedName("prefetch")
3159
        List<String> prefetch;
3160

3161
        /**
3162
         * For webview integrations only. Upon completing OAuth login in the native browser, the
3163
         * user will be redirected to this URL to return to your app.
3164
         */
3165
        @SerializedName("return_url")
3166
        String returnUrl;
3167

3168
        /**
3169
         * For more details about Filters, please refer to the <a
3170
         * href="https://docs.stripe.com/api">API Reference.</a>
3171
         */
3172
        @Getter
3173
        @Setter
3174
        @EqualsAndHashCode(callSuper = false)
3175
        public static class Filters extends StripeObject {
×
3176
          /**
3177
           * The account subcategories to use to filter for possible accounts to link. Valid
3178
           * subcategories are {@code checking} and {@code savings}.
3179
           */
3180
          @SerializedName("account_subcategories")
3181
          List<String> accountSubcategories;
3182
        }
3183
      }
3184
    }
3185
  }
3186

3187
  /**
3188
   * For more details about PhoneNumberCollection, please refer to the <a
3189
   * href="https://docs.stripe.com/api">API Reference.</a>
3190
   */
3191
  @Getter
3192
  @Setter
3193
  @EqualsAndHashCode(callSuper = false)
3194
  public static class PhoneNumberCollection extends StripeObject {
1✔
3195
    /** Indicates whether phone number collection is enabled for the session. */
3196
    @SerializedName("enabled")
3197
    Boolean enabled;
3198
  }
3199

3200
  /**
3201
   * For more details about SavedPaymentMethodOptions, please refer to the <a
3202
   * href="https://docs.stripe.com/api">API Reference.</a>
3203
   */
3204
  @Getter
3205
  @Setter
3206
  @EqualsAndHashCode(callSuper = false)
3207
  public static class SavedPaymentMethodOptions extends StripeObject {
×
3208
    /**
3209
     * Uses the {@code allow_redisplay} value of each saved payment method to filter the set
3210
     * presented to a returning customer. By default, only saved payment methods with
3211
     * ’allow_redisplay: ‘always’ are shown in Checkout.
3212
     */
3213
    @SerializedName("allow_redisplay_filters")
3214
    List<String> allowRedisplayFilters;
3215

3216
    /**
3217
     * Enable customers to choose if they wish to remove their saved payment methods. Disabled by
3218
     * default.
3219
     *
3220
     * <p>One of {@code disabled}, or {@code enabled}.
3221
     */
3222
    @SerializedName("payment_method_remove")
3223
    String paymentMethodRemove;
3224

3225
    /**
3226
     * Enable customers to choose if they wish to save their payment method for future use. Disabled
3227
     * by default.
3228
     *
3229
     * <p>One of {@code disabled}, or {@code enabled}.
3230
     */
3231
    @SerializedName("payment_method_save")
3232
    String paymentMethodSave;
3233
  }
3234

3235
  /**
3236
   * For more details about ShippingAddressCollection, please refer to the <a
3237
   * href="https://docs.stripe.com/api">API Reference.</a>
3238
   */
3239
  @Getter
3240
  @Setter
3241
  @EqualsAndHashCode(callSuper = false)
3242
  public static class ShippingAddressCollection extends StripeObject {
×
3243
    /**
3244
     * An array of two-letter ISO country codes representing which countries Checkout should provide
3245
     * as options for shipping locations. Unsupported country codes: {@code AS, CX, CC, CU, HM, IR,
3246
     * KP, MH, FM, NF, MP, PW, SD, SY, UM, VI}.
3247
     */
3248
    @SerializedName("allowed_countries")
3249
    List<String> allowedCountries;
3250
  }
3251

3252
  /**
3253
   * For more details about ShippingCost, please refer to the <a
3254
   * href="https://docs.stripe.com/api">API Reference.</a>
3255
   */
3256
  @Getter
3257
  @Setter
3258
  @EqualsAndHashCode(callSuper = false)
3259
  public static class ShippingCost extends StripeObject {
×
3260
    /** Total shipping cost before any discounts or taxes are applied. */
3261
    @SerializedName("amount_subtotal")
3262
    Long amountSubtotal;
3263

3264
    /** Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. */
3265
    @SerializedName("amount_tax")
3266
    Long amountTax;
3267

3268
    /** Total shipping cost after discounts and taxes are applied. */
3269
    @SerializedName("amount_total")
3270
    Long amountTotal;
3271

3272
    /** The ID of the ShippingRate for this order. */
3273
    @SerializedName("shipping_rate")
3274
    @Getter(lombok.AccessLevel.NONE)
3275
    @Setter(lombok.AccessLevel.NONE)
3276
    ExpandableField<ShippingRate> shippingRate;
3277

3278
    /** The taxes applied to the shipping rate. */
3279
    @SerializedName("taxes")
3280
    List<Session.ShippingCost.Tax> taxes;
3281

3282
    /** Get ID of expandable {@code shippingRate} object. */
3283
    public String getShippingRate() {
3284
      return (this.shippingRate != null) ? this.shippingRate.getId() : null;
×
3285
    }
3286

3287
    public void setShippingRate(String id) {
3288
      this.shippingRate = ApiResource.setExpandableFieldId(id, this.shippingRate);
×
3289
    }
×
3290

3291
    /** Get expanded {@code shippingRate}. */
3292
    public ShippingRate getShippingRateObject() {
3293
      return (this.shippingRate != null) ? this.shippingRate.getExpanded() : null;
×
3294
    }
3295

3296
    public void setShippingRateObject(ShippingRate expandableObject) {
3297
      this.shippingRate =
×
3298
          new ExpandableField<ShippingRate>(expandableObject.getId(), expandableObject);
×
3299
    }
×
3300

3301
    /**
3302
     * For more details about Tax, please refer to the <a href="https://docs.stripe.com/api">API
3303
     * Reference.</a>
3304
     */
3305
    @Getter
3306
    @Setter
3307
    @EqualsAndHashCode(callSuper = false)
3308
    public static class Tax extends StripeObject {
×
3309
      /** Amount of tax applied for this rate. */
3310
      @SerializedName("amount")
3311
      Long amount;
3312

3313
      /**
3314
       * Tax rates can be applied to <a
3315
       * href="https://stripe.com/docs/billing/invoices/tax-rates">invoices</a>, <a
3316
       * href="https://stripe.com/docs/billing/subscriptions/taxes">subscriptions</a> and <a
3317
       * href="https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates">Checkout
3318
       * Sessions</a> to collect tax.
3319
       *
3320
       * <p>Related guide: <a href="https://stripe.com/docs/billing/taxes/tax-rates">Tax rates</a>
3321
       */
3322
      @SerializedName("rate")
3323
      TaxRate rate;
3324

3325
      /**
3326
       * The reasoning behind this tax, for example, if the product is tax exempt. The possible
3327
       * values for this field may be extended as new tax rules are supported.
3328
       *
3329
       * <p>One of {@code customer_exempt}, {@code not_collecting}, {@code not_subject_to_tax},
3330
       * {@code not_supported}, {@code portion_product_exempt}, {@code portion_reduced_rated},
3331
       * {@code portion_standard_rated}, {@code product_exempt}, {@code product_exempt_holiday},
3332
       * {@code proportionally_rated}, {@code reduced_rated}, {@code reverse_charge}, {@code
3333
       * standard_rated}, {@code taxable_basis_reduced}, or {@code zero_rated}.
3334
       */
3335
      @SerializedName("taxability_reason")
3336
      String taxabilityReason;
3337

3338
      /** The amount on which tax is calculated, in cents (or local equivalent). */
3339
      @SerializedName("taxable_amount")
3340
      Long taxableAmount;
3341
    }
3342
  }
3343

3344
  /**
3345
   * For more details about ShippingOption, please refer to the <a
3346
   * href="https://docs.stripe.com/api">API Reference.</a>
3347
   */
3348
  @Getter
3349
  @Setter
3350
  @EqualsAndHashCode(callSuper = false)
3351
  public static class ShippingOption extends StripeObject {
×
3352
    /** A non-negative integer in cents representing how much to charge. */
3353
    @SerializedName("shipping_amount")
3354
    Long shippingAmount;
3355

3356
    /** The shipping rate. */
3357
    @SerializedName("shipping_rate")
3358
    @Getter(lombok.AccessLevel.NONE)
3359
    @Setter(lombok.AccessLevel.NONE)
3360
    ExpandableField<ShippingRate> shippingRate;
3361

3362
    /** Get ID of expandable {@code shippingRate} object. */
3363
    public String getShippingRate() {
3364
      return (this.shippingRate != null) ? this.shippingRate.getId() : null;
×
3365
    }
3366

3367
    public void setShippingRate(String id) {
3368
      this.shippingRate = ApiResource.setExpandableFieldId(id, this.shippingRate);
×
3369
    }
×
3370

3371
    /** Get expanded {@code shippingRate}. */
3372
    public ShippingRate getShippingRateObject() {
3373
      return (this.shippingRate != null) ? this.shippingRate.getExpanded() : null;
×
3374
    }
3375

3376
    public void setShippingRateObject(ShippingRate expandableObject) {
3377
      this.shippingRate =
×
3378
          new ExpandableField<ShippingRate>(expandableObject.getId(), expandableObject);
×
3379
    }
×
3380
  }
3381

3382
  /**
3383
   * For more details about TaxIdCollection, please refer to the <a
3384
   * href="https://docs.stripe.com/api">API Reference.</a>
3385
   */
3386
  @Getter
3387
  @Setter
3388
  @EqualsAndHashCode(callSuper = false)
3389
  public static class TaxIdCollection extends StripeObject {
×
3390
    /** Indicates whether tax ID collection is enabled for the session. */
3391
    @SerializedName("enabled")
3392
    Boolean enabled;
3393

3394
    /**
3395
     * Indicates whether a tax ID is required on the payment page
3396
     *
3397
     * <p>One of {@code if_supported}, or {@code never}.
3398
     */
3399
    @SerializedName("required")
3400
    String required;
3401
  }
3402

3403
  /**
3404
   * For more details about TotalDetails, please refer to the <a
3405
   * href="https://docs.stripe.com/api">API Reference.</a>
3406
   */
3407
  @Getter
3408
  @Setter
3409
  @EqualsAndHashCode(callSuper = false)
3410
  public static class TotalDetails extends StripeObject {
×
3411
    /** This is the sum of all the discounts. */
3412
    @SerializedName("amount_discount")
3413
    Long amountDiscount;
3414

3415
    /** This is the sum of all the shipping amounts. */
3416
    @SerializedName("amount_shipping")
3417
    Long amountShipping;
3418

3419
    /** This is the sum of all the tax amounts. */
3420
    @SerializedName("amount_tax")
3421
    Long amountTax;
3422

3423
    @SerializedName("breakdown")
3424
    Breakdown breakdown;
3425

3426
    /**
3427
     * For more details about Breakdown, please refer to the <a
3428
     * href="https://docs.stripe.com/api">API Reference.</a>
3429
     */
3430
    @Getter
3431
    @Setter
3432
    @EqualsAndHashCode(callSuper = false)
3433
    public static class Breakdown extends StripeObject {
×
3434
      /** The aggregated discounts. */
3435
      @SerializedName("discounts")
3436
      List<Session.TotalDetails.Breakdown.Discount> discounts;
3437

3438
      /** The aggregated tax amounts by rate. */
3439
      @SerializedName("taxes")
3440
      List<Session.TotalDetails.Breakdown.Tax> taxes;
3441

3442
      /**
3443
       * For more details about Discount, please refer to the <a
3444
       * href="https://docs.stripe.com/api">API Reference.</a>
3445
       */
3446
      @Getter
3447
      @Setter
3448
      @EqualsAndHashCode(callSuper = false)
3449
      public static class Discount extends StripeObject {
×
3450
        /** The amount discounted. */
3451
        @SerializedName("amount")
3452
        Long amount;
3453

3454
        /**
3455
         * A discount represents the actual application of a <a
3456
         * href="https://stripe.com/docs/api#coupons">coupon</a> or <a
3457
         * href="https://stripe.com/docs/api#promotion_codes">promotion code</a>. It contains
3458
         * information about when the discount began, when it will end, and what it is applied to.
3459
         *
3460
         * <p>Related guide: <a
3461
         * href="https://stripe.com/docs/billing/subscriptions/discounts">Applying discounts to
3462
         * subscriptions</a>
3463
         */
3464
        @SerializedName("discount")
3465
        com.stripe.model.Discount discount;
3466
      }
3467

3468
      /**
3469
       * For more details about Tax, please refer to the <a href="https://docs.stripe.com/api">API
3470
       * Reference.</a>
3471
       */
3472
      @Getter
3473
      @Setter
3474
      @EqualsAndHashCode(callSuper = false)
3475
      public static class Tax extends StripeObject {
×
3476
        /** Amount of tax applied for this rate. */
3477
        @SerializedName("amount")
3478
        Long amount;
3479

3480
        /**
3481
         * Tax rates can be applied to <a
3482
         * href="https://stripe.com/docs/billing/invoices/tax-rates">invoices</a>, <a
3483
         * href="https://stripe.com/docs/billing/subscriptions/taxes">subscriptions</a> and <a
3484
         * href="https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates">Checkout
3485
         * Sessions</a> to collect tax.
3486
         *
3487
         * <p>Related guide: <a href="https://stripe.com/docs/billing/taxes/tax-rates">Tax rates</a>
3488
         */
3489
        @SerializedName("rate")
3490
        TaxRate rate;
3491

3492
        /**
3493
         * The reasoning behind this tax, for example, if the product is tax exempt. The possible
3494
         * values for this field may be extended as new tax rules are supported.
3495
         *
3496
         * <p>One of {@code customer_exempt}, {@code not_collecting}, {@code not_subject_to_tax},
3497
         * {@code not_supported}, {@code portion_product_exempt}, {@code portion_reduced_rated},
3498
         * {@code portion_standard_rated}, {@code product_exempt}, {@code product_exempt_holiday},
3499
         * {@code proportionally_rated}, {@code reduced_rated}, {@code reverse_charge}, {@code
3500
         * standard_rated}, {@code taxable_basis_reduced}, or {@code zero_rated}.
3501
         */
3502
        @SerializedName("taxability_reason")
3503
        String taxabilityReason;
3504

3505
        /** The amount on which tax is calculated, in cents (or local equivalent). */
3506
        @SerializedName("taxable_amount")
3507
        Long taxableAmount;
3508
      }
3509
    }
3510
  }
3511

3512
  @Override
3513
  public void setResponseGetter(StripeResponseGetter responseGetter) {
3514
    super.setResponseGetter(responseGetter);
1✔
3515
    trySetResponseGetter(adaptivePricing, responseGetter);
1✔
3516
    trySetResponseGetter(afterExpiration, responseGetter);
1✔
3517
    trySetResponseGetter(automaticTax, responseGetter);
1✔
3518
    trySetResponseGetter(consent, responseGetter);
1✔
3519
    trySetResponseGetter(consentCollection, responseGetter);
1✔
3520
    trySetResponseGetter(currencyConversion, responseGetter);
1✔
3521
    trySetResponseGetter(customText, responseGetter);
1✔
3522
    trySetResponseGetter(customer, responseGetter);
1✔
3523
    trySetResponseGetter(customerDetails, responseGetter);
1✔
3524
    trySetResponseGetter(invoice, responseGetter);
1✔
3525
    trySetResponseGetter(invoiceCreation, responseGetter);
1✔
3526
    trySetResponseGetter(lineItems, responseGetter);
1✔
3527
    trySetResponseGetter(paymentIntent, responseGetter);
1✔
3528
    trySetResponseGetter(paymentLink, responseGetter);
1✔
3529
    trySetResponseGetter(paymentMethodConfigurationDetails, responseGetter);
1✔
3530
    trySetResponseGetter(paymentMethodOptions, responseGetter);
1✔
3531
    trySetResponseGetter(phoneNumberCollection, responseGetter);
1✔
3532
    trySetResponseGetter(savedPaymentMethodOptions, responseGetter);
1✔
3533
    trySetResponseGetter(setupIntent, responseGetter);
1✔
3534
    trySetResponseGetter(shippingAddressCollection, responseGetter);
1✔
3535
    trySetResponseGetter(shippingCost, responseGetter);
1✔
3536
    trySetResponseGetter(shippingDetails, responseGetter);
1✔
3537
    trySetResponseGetter(subscription, responseGetter);
1✔
3538
    trySetResponseGetter(taxIdCollection, responseGetter);
1✔
3539
    trySetResponseGetter(totalDetails, responseGetter);
1✔
3540
  }
1✔
3541
}
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

© 2025 Coveralls, Inc