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

stripe / stripe-java / #16517

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

push

github

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

Update generated code for beta

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

91 existing lines in 27 files now uncovered.

18753 of 147196 relevant lines covered (12.74%)

0.13 hits per line

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

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

4
import com.google.gson.annotations.SerializedName;
5
import com.stripe.exception.StripeException;
6
import com.stripe.net.ApiRequest;
7
import com.stripe.net.ApiRequestParams;
8
import com.stripe.net.ApiResource;
9
import com.stripe.net.BaseAddress;
10
import com.stripe.net.RequestOptions;
11
import com.stripe.net.StripeResponseGetter;
12
import com.stripe.param.AccountCapabilitiesParams;
13
import com.stripe.param.AccountCreateParams;
14
import com.stripe.param.AccountListParams;
15
import com.stripe.param.AccountPersonsParams;
16
import com.stripe.param.AccountRejectParams;
17
import com.stripe.param.AccountRetrieveParams;
18
import com.stripe.param.AccountUpdateParams;
19
import java.util.List;
20
import java.util.Map;
21
import java.util.stream.Collectors;
22
import lombok.EqualsAndHashCode;
23
import lombok.Getter;
24
import lombok.Setter;
25

26
/**
27
 * This is an object representing a Stripe account. You can retrieve it to see properties on the
28
 * account like its current requirements or if the account is enabled to make live charges or
29
 * receive payouts.
30
 *
31
 * <p>For accounts where <a
32
 * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
33
 * is {@code application}, which includes Custom accounts, the properties below are always returned.
34
 *
35
 * <p>For accounts where <a
36
 * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
37
 * is {@code stripe}, which includes Standard and Express accounts, some properties are only
38
 * returned until you create an <a href="https://stripe.com/api/account_links">Account Link</a> or
39
 * <a href="https://stripe.com/api/account_sessions">Account Session</a> to start Connect
40
 * Onboarding. Learn about the <a href="https://stripe.com/connect/accounts">differences between
41
 * accounts</a>.
42
 */
43
@Getter
44
@Setter
45
@EqualsAndHashCode(callSuper = false)
46
public class Account extends ApiResource implements MetadataStore<Account>, PaymentSource {
1✔
47
  /** Business information about the account. */
48
  @SerializedName("business_profile")
49
  BusinessProfile businessProfile;
50

51
  /**
52
   * The business type. After you create an <a href="https://stripe.com/api/account_links">Account
53
   * Link</a> or <a href="https://stripe.com/api/account_sessions">Account Session</a>, this
54
   * property is only returned for accounts where <a
55
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
56
   * is {@code application}, which includes Custom accounts.
57
   *
58
   * <p>One of {@code company}, {@code government_entity}, {@code individual}, or {@code
59
   * non_profit}.
60
   */
61
  @SerializedName("business_type")
62
  String businessType;
63

64
  @SerializedName("capabilities")
65
  Capabilities capabilities;
66

67
  /** Whether the account can process charges. */
68
  @SerializedName("charges_enabled")
69
  Boolean chargesEnabled;
70

71
  @SerializedName("company")
72
  Company company;
73

74
  @SerializedName("controller")
75
  Controller controller;
76

77
  /** The account's country. */
78
  @SerializedName("country")
79
  String country;
80

81
  /** Time at which the account was connected. Measured in seconds since the Unix epoch. */
82
  @SerializedName("created")
83
  Long created;
84

85
  /**
86
   * Three-letter ISO currency code representing the default currency for the account. This must be
87
   * a currency that <a href="https://stripe.com/docs/payouts">Stripe supports in the account's
88
   * country</a>.
89
   */
90
  @SerializedName("default_currency")
91
  String defaultCurrency;
92

93
  /** Always true for a deleted object. */
94
  @SerializedName("deleted")
95
  Boolean deleted;
96

97
  /**
98
   * Whether account details have been submitted. Accounts with Stripe Dashboard access, which
99
   * includes Standard accounts, cannot receive payouts before this is true. Accounts where this is
100
   * false should be directed to <a href="https://stripe.com/connect/onboarding">an onboarding
101
   * flow</a> to finish submitting account details.
102
   */
103
  @SerializedName("details_submitted")
104
  Boolean detailsSubmitted;
105

106
  /**
107
   * An email address associated with the account. It's not used for authentication and Stripe
108
   * doesn't market to this field without explicit approval from the platform.
109
   */
110
  @SerializedName("email")
111
  String email;
112

113
  /**
114
   * External accounts (bank accounts and debit cards) currently attached to this account. External
115
   * accounts are only returned for requests where {@code controller[is_controller]} is true.
116
   */
117
  @SerializedName("external_accounts")
118
  ExternalAccountCollection externalAccounts;
119

120
  @SerializedName("future_requirements")
121
  FutureRequirements futureRequirements;
122

123
  /** The groups associated with the account. */
124
  @SerializedName("groups")
125
  Groups groups;
126

127
  /** Unique identifier for the object. */
128
  @Getter(onMethod_ = {@Override})
129
  @SerializedName("id")
130
  String id;
131

132
  /**
133
   * This is an object representing a person associated with a Stripe account.
134
   *
135
   * <p>A platform cannot access a person for an account where <a
136
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">account.controller.requirement_collection</a>
137
   * is {@code stripe}, which includes Standard and Express accounts, after creating an Account Link
138
   * or Account Session to start Connect onboarding.
139
   *
140
   * <p>See the <a href="https://stripe.com/connect/standard-accounts">Standard onboarding</a> or <a
141
   * href="https://stripe.com/connect/express-accounts">Express onboarding</a> documentation for
142
   * information about prefilling information and account onboarding steps. Learn more about <a
143
   * href="https://stripe.com/connect/handling-api-verification#person-information">handling
144
   * identity verification with the API</a>.
145
   */
146
  @SerializedName("individual")
147
  Person individual;
148

149
  /**
150
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
151
   * to an object. This can be useful for storing additional information about the object in a
152
   * structured format.
153
   */
154
  @Getter(onMethod_ = {@Override})
155
  @SerializedName("metadata")
156
  Map<String, String> metadata;
157

158
  /**
159
   * String representing the object's type. Objects of the same type share the same value.
160
   *
161
   * <p>Equal to {@code account}.
162
   */
163
  @SerializedName("object")
164
  String object;
165

166
  /** Whether the funds in this account can be paid out. */
167
  @SerializedName("payouts_enabled")
168
  Boolean payoutsEnabled;
169

170
  @SerializedName("requirements")
171
  Requirements requirements;
172

173
  @SerializedName("risk_controls")
174
  RiskControls riskControls;
175

176
  /** Options for customizing how the account functions within Stripe. */
177
  @SerializedName("settings")
178
  Settings settings;
179

180
  @SerializedName("tos_acceptance")
181
  TosAcceptance tosAcceptance;
182

183
  /**
184
   * The Stripe account type. Can be {@code standard}, {@code express}, {@code custom}, or {@code
185
   * none}.
186
   */
187
  @SerializedName("type")
188
  String type;
189

190
  /**
191
   * Returns a list of capabilities associated with the account. The capabilities are returned
192
   * sorted by creation date, with the most recent capability appearing first.
193
   */
194
  public CapabilityCollection capabilities() throws StripeException {
195
    return capabilities((Map<String, Object>) null, (RequestOptions) null);
1✔
196
  }
197

198
  /**
199
   * Returns a list of capabilities associated with the account. The capabilities are returned
200
   * sorted by creation date, with the most recent capability appearing first.
201
   */
202
  public CapabilityCollection capabilities(Map<String, Object> params) throws StripeException {
203
    return capabilities(params, (RequestOptions) null);
×
204
  }
205

206
  /**
207
   * Returns a list of capabilities associated with the account. The capabilities are returned
208
   * sorted by creation date, with the most recent capability appearing first.
209
   */
210
  public CapabilityCollection capabilities(Map<String, Object> params, RequestOptions options)
211
      throws StripeException {
212
    String path =
1✔
213
        String.format("/v1/accounts/%s/capabilities", ApiResource.urlEncodeId(this.getId()));
1✔
214
    ApiRequest request =
1✔
215
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
216
    return getResponseGetter().request(request, CapabilityCollection.class);
1✔
217
  }
218

219
  /**
220
   * Returns a list of capabilities associated with the account. The capabilities are returned
221
   * sorted by creation date, with the most recent capability appearing first.
222
   */
223
  public CapabilityCollection capabilities(AccountCapabilitiesParams params)
224
      throws StripeException {
225
    return capabilities(params, (RequestOptions) null);
1✔
226
  }
227

228
  /**
229
   * Returns a list of capabilities associated with the account. The capabilities are returned
230
   * sorted by creation date, with the most recent capability appearing first.
231
   */
232
  public CapabilityCollection capabilities(AccountCapabilitiesParams params, RequestOptions options)
233
      throws StripeException {
234
    String path =
1✔
235
        String.format("/v1/accounts/%s/capabilities", ApiResource.urlEncodeId(this.getId()));
1✔
236
    ApiResource.checkNullTypedParams(path, params);
1✔
237
    ApiRequest request =
1✔
238
        new ApiRequest(
239
            BaseAddress.API,
240
            ApiResource.RequestMethod.GET,
241
            path,
242
            ApiRequestParams.paramsToMap(params),
1✔
243
            options);
244
    return getResponseGetter().request(request, CapabilityCollection.class);
1✔
245
  }
246

247
  /**
248
   * With <a href="https://stripe.com/docs/connect">Connect</a>, you can create Stripe accounts for
249
   * your users. To do this, you’ll first need to <a
250
   * href="https://dashboard.stripe.com/account/applications/settings">register your platform</a>.
251
   *
252
   * <p>If you’ve already collected information for your connected accounts, you <a
253
   * href="https://stripe.com/docs/connect/best-practices#onboarding">can prefill that
254
   * information</a> when creating the account. Connect Onboarding won’t ask for the prefilled
255
   * information during account onboarding. You can prefill any information on the account.
256
   */
257
  public static Account create(Map<String, Object> params) throws StripeException {
258
    return create(params, (RequestOptions) null);
1✔
259
  }
260

261
  /**
262
   * With <a href="https://stripe.com/docs/connect">Connect</a>, you can create Stripe accounts for
263
   * your users. To do this, you’ll first need to <a
264
   * href="https://dashboard.stripe.com/account/applications/settings">register your platform</a>.
265
   *
266
   * <p>If you’ve already collected information for your connected accounts, you <a
267
   * href="https://stripe.com/docs/connect/best-practices#onboarding">can prefill that
268
   * information</a> when creating the account. Connect Onboarding won’t ask for the prefilled
269
   * information during account onboarding. You can prefill any information on the account.
270
   */
271
  public static Account create(Map<String, Object> params, RequestOptions options)
272
      throws StripeException {
273
    String path = "/v1/accounts";
1✔
274
    ApiRequest request =
1✔
275
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
276
    return getGlobalResponseGetter().request(request, Account.class);
1✔
277
  }
278

279
  /**
280
   * With <a href="https://stripe.com/docs/connect">Connect</a>, you can create Stripe accounts for
281
   * your users. To do this, you’ll first need to <a
282
   * href="https://dashboard.stripe.com/account/applications/settings">register your platform</a>.
283
   *
284
   * <p>If you’ve already collected information for your connected accounts, you <a
285
   * href="https://stripe.com/docs/connect/best-practices#onboarding">can prefill that
286
   * information</a> when creating the account. Connect Onboarding won’t ask for the prefilled
287
   * information during account onboarding. You can prefill any information on the account.
288
   */
289
  public static Account create(AccountCreateParams params) throws StripeException {
290
    return create(params, (RequestOptions) null);
1✔
291
  }
292

293
  /**
294
   * With <a href="https://stripe.com/docs/connect">Connect</a>, you can create Stripe accounts for
295
   * your users. To do this, you’ll first need to <a
296
   * href="https://dashboard.stripe.com/account/applications/settings">register your platform</a>.
297
   *
298
   * <p>If you’ve already collected information for your connected accounts, you <a
299
   * href="https://stripe.com/docs/connect/best-practices#onboarding">can prefill that
300
   * information</a> when creating the account. Connect Onboarding won’t ask for the prefilled
301
   * information during account onboarding. You can prefill any information on the account.
302
   */
303
  public static Account create(AccountCreateParams params, RequestOptions options)
304
      throws StripeException {
305
    String path = "/v1/accounts";
1✔
306
    ApiResource.checkNullTypedParams(path, params);
1✔
307
    ApiRequest request =
1✔
308
        new ApiRequest(
309
            BaseAddress.API,
310
            ApiResource.RequestMethod.POST,
311
            path,
312
            ApiRequestParams.paramsToMap(params),
1✔
313
            options);
314
    return getGlobalResponseGetter().request(request, Account.class);
1✔
315
  }
316

317
  /**
318
   * With <a href="https://stripe.com/connect">Connect</a>, you can delete accounts you manage.
319
   *
320
   * <p>Test-mode accounts can be deleted at any time.
321
   *
322
   * <p>Live-mode accounts where Stripe is responsible for negative account balances cannot be
323
   * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
324
   * negative account balances, which includes Custom and Express accounts, can be deleted when all
325
   * <a href="https://stripe.com/api/balance/balance_object">balances</a> are zero.
326
   *
327
   * <p>If you want to delete your own account, use the <a
328
   * href="https://dashboard.stripe.com/settings/account">account information tab in your account
329
   * settings</a> instead.
330
   */
331
  public Account delete() throws StripeException {
332
    return delete((Map<String, Object>) null, (RequestOptions) null);
1✔
333
  }
334

335
  /**
336
   * With <a href="https://stripe.com/connect">Connect</a>, you can delete accounts you manage.
337
   *
338
   * <p>Test-mode accounts can be deleted at any time.
339
   *
340
   * <p>Live-mode accounts where Stripe is responsible for negative account balances cannot be
341
   * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
342
   * negative account balances, which includes Custom and Express accounts, can be deleted when all
343
   * <a href="https://stripe.com/api/balance/balance_object">balances</a> are zero.
344
   *
345
   * <p>If you want to delete your own account, use the <a
346
   * href="https://dashboard.stripe.com/settings/account">account information tab in your account
347
   * settings</a> instead.
348
   */
349
  public Account delete(RequestOptions options) throws StripeException {
350
    return delete((Map<String, Object>) null, options);
×
351
  }
352

353
  /**
354
   * With <a href="https://stripe.com/connect">Connect</a>, you can delete accounts you manage.
355
   *
356
   * <p>Test-mode accounts can be deleted at any time.
357
   *
358
   * <p>Live-mode accounts where Stripe is responsible for negative account balances cannot be
359
   * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
360
   * negative account balances, which includes Custom and Express accounts, can be deleted when all
361
   * <a href="https://stripe.com/api/balance/balance_object">balances</a> are zero.
362
   *
363
   * <p>If you want to delete your own account, use the <a
364
   * href="https://dashboard.stripe.com/settings/account">account information tab in your account
365
   * settings</a> instead.
366
   */
367
  public Account delete(Map<String, Object> params) throws StripeException {
368
    return delete(params, (RequestOptions) null);
×
369
  }
370

371
  /**
372
   * With <a href="https://stripe.com/connect">Connect</a>, you can delete accounts you manage.
373
   *
374
   * <p>Test-mode accounts can be deleted at any time.
375
   *
376
   * <p>Live-mode accounts where Stripe is responsible for negative account balances cannot be
377
   * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
378
   * negative account balances, which includes Custom and Express accounts, can be deleted when all
379
   * <a href="https://stripe.com/api/balance/balance_object">balances</a> are zero.
380
   *
381
   * <p>If you want to delete your own account, use the <a
382
   * href="https://dashboard.stripe.com/settings/account">account information tab in your account
383
   * settings</a> instead.
384
   */
385
  public Account delete(Map<String, Object> params, RequestOptions options) throws StripeException {
386
    String path = String.format("/v1/accounts/%s", ApiResource.urlEncodeId(this.getId()));
1✔
387
    ApiRequest request =
1✔
388
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, params, options);
389
    return getResponseGetter().request(request, Account.class);
1✔
390
  }
391

392
  /**
393
   * Returns a list of accounts connected to your platform via <a
394
   * href="https://stripe.com/docs/connect">Connect</a>. If you’re not a platform, the list is
395
   * empty.
396
   */
397
  public static AccountCollection list(Map<String, Object> params) throws StripeException {
398
    return list(params, (RequestOptions) null);
1✔
399
  }
400

401
  /**
402
   * Returns a list of accounts connected to your platform via <a
403
   * href="https://stripe.com/docs/connect">Connect</a>. If you’re not a platform, the list is
404
   * empty.
405
   */
406
  public static AccountCollection list(Map<String, Object> params, RequestOptions options)
407
      throws StripeException {
408
    String path = "/v1/accounts";
1✔
409
    ApiRequest request =
1✔
410
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
411
    return getGlobalResponseGetter().request(request, AccountCollection.class);
1✔
412
  }
413

414
  /**
415
   * Returns a list of accounts connected to your platform via <a
416
   * href="https://stripe.com/docs/connect">Connect</a>. If you’re not a platform, the list is
417
   * empty.
418
   */
419
  public static AccountCollection list(AccountListParams params) throws StripeException {
420
    return list(params, (RequestOptions) null);
1✔
421
  }
422

423
  /**
424
   * Returns a list of accounts connected to your platform via <a
425
   * href="https://stripe.com/docs/connect">Connect</a>. If you’re not a platform, the list is
426
   * empty.
427
   */
428
  public static AccountCollection list(AccountListParams params, RequestOptions options)
429
      throws StripeException {
430
    String path = "/v1/accounts";
1✔
431
    ApiResource.checkNullTypedParams(path, params);
1✔
432
    ApiRequest request =
1✔
433
        new ApiRequest(
434
            BaseAddress.API,
435
            ApiResource.RequestMethod.GET,
436
            path,
437
            ApiRequestParams.paramsToMap(params),
1✔
438
            options);
439
    return getGlobalResponseGetter().request(request, AccountCollection.class);
1✔
440
  }
441

442
  /**
443
   * Returns a list of people associated with the account’s legal entity. The people are returned
444
   * sorted by creation date, with the most recent people appearing first.
445
   */
446
  public PersonCollection persons() throws StripeException {
447
    return persons((Map<String, Object>) null, (RequestOptions) null);
1✔
448
  }
449

450
  /**
451
   * Returns a list of people associated with the account’s legal entity. The people are returned
452
   * sorted by creation date, with the most recent people appearing first.
453
   */
454
  public PersonCollection persons(Map<String, Object> params) throws StripeException {
455
    return persons(params, (RequestOptions) null);
1✔
456
  }
457

458
  /**
459
   * Returns a list of people associated with the account’s legal entity. The people are returned
460
   * sorted by creation date, with the most recent people appearing first.
461
   */
462
  public PersonCollection persons(Map<String, Object> params, RequestOptions options)
463
      throws StripeException {
464
    String path = String.format("/v1/accounts/%s/persons", ApiResource.urlEncodeId(this.getId()));
1✔
465
    ApiRequest request =
1✔
466
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
467
    return getResponseGetter().request(request, PersonCollection.class);
1✔
468
  }
469

470
  /**
471
   * Returns a list of people associated with the account’s legal entity. The people are returned
472
   * sorted by creation date, with the most recent people appearing first.
473
   */
474
  public PersonCollection persons(AccountPersonsParams params) throws StripeException {
475
    return persons(params, (RequestOptions) null);
1✔
476
  }
477

478
  /**
479
   * Returns a list of people associated with the account’s legal entity. The people are returned
480
   * sorted by creation date, with the most recent people appearing first.
481
   */
482
  public PersonCollection persons(AccountPersonsParams params, RequestOptions options)
483
      throws StripeException {
484
    String path = String.format("/v1/accounts/%s/persons", ApiResource.urlEncodeId(this.getId()));
1✔
485
    ApiResource.checkNullTypedParams(path, params);
1✔
486
    ApiRequest request =
1✔
487
        new ApiRequest(
488
            BaseAddress.API,
489
            ApiResource.RequestMethod.GET,
490
            path,
491
            ApiRequestParams.paramsToMap(params),
1✔
492
            options);
493
    return getResponseGetter().request(request, PersonCollection.class);
1✔
494
  }
495

496
  /**
497
   * With <a href="https://stripe.com/connect">Connect</a>, you can reject accounts that you have
498
   * flagged as suspicious.
499
   *
500
   * <p>Only accounts where your platform is liable for negative account balances, which includes
501
   * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
502
   * Live-mode accounts can only be rejected after all balances are zero.
503
   */
504
  public Account reject(Map<String, Object> params) throws StripeException {
505
    return reject(params, (RequestOptions) null);
1✔
506
  }
507

508
  /**
509
   * With <a href="https://stripe.com/connect">Connect</a>, you can reject accounts that you have
510
   * flagged as suspicious.
511
   *
512
   * <p>Only accounts where your platform is liable for negative account balances, which includes
513
   * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
514
   * Live-mode accounts can only be rejected after all balances are zero.
515
   */
516
  public Account reject(Map<String, Object> params, RequestOptions options) throws StripeException {
517
    String path = String.format("/v1/accounts/%s/reject", ApiResource.urlEncodeId(this.getId()));
1✔
518
    ApiRequest request =
1✔
519
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
520
    return getResponseGetter().request(request, Account.class);
1✔
521
  }
522

523
  /**
524
   * With <a href="https://stripe.com/connect">Connect</a>, you can reject accounts that you have
525
   * flagged as suspicious.
526
   *
527
   * <p>Only accounts where your platform is liable for negative account balances, which includes
528
   * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
529
   * Live-mode accounts can only be rejected after all balances are zero.
530
   */
531
  public Account reject(AccountRejectParams params) throws StripeException {
532
    return reject(params, (RequestOptions) null);
1✔
533
  }
534

535
  /**
536
   * With <a href="https://stripe.com/connect">Connect</a>, you can reject accounts that you have
537
   * flagged as suspicious.
538
   *
539
   * <p>Only accounts where your platform is liable for negative account balances, which includes
540
   * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
541
   * Live-mode accounts can only be rejected after all balances are zero.
542
   */
543
  public Account reject(AccountRejectParams params, RequestOptions options) throws StripeException {
544
    String path = String.format("/v1/accounts/%s/reject", ApiResource.urlEncodeId(this.getId()));
1✔
545
    ApiResource.checkNullTypedParams(path, params);
1✔
546
    ApiRequest request =
1✔
547
        new ApiRequest(
548
            BaseAddress.API,
549
            ApiResource.RequestMethod.POST,
550
            path,
551
            ApiRequestParams.paramsToMap(params),
1✔
552
            options);
553
    return getResponseGetter().request(request, Account.class);
1✔
554
  }
555

556
  /** Retrieves the details of an account. */
557
  public static Account retrieve(String account) throws StripeException {
558
    return retrieve(account, (Map<String, Object>) null, (RequestOptions) null);
1✔
559
  }
560

561
  /** Retrieves the details of an account. */
562
  public static Account retrieve(String account, RequestOptions options) throws StripeException {
563
    return retrieve(account, (Map<String, Object>) null, options);
1✔
564
  }
565

566
  /** Retrieves the details of an account. */
567
  public static Account retrieve(String account, Map<String, Object> params, RequestOptions options)
568
      throws StripeException {
569
    String path = String.format("/v1/accounts/%s", ApiResource.urlEncodeId(account));
1✔
570
    ApiRequest request =
1✔
571
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
572
    return getGlobalResponseGetter().request(request, Account.class);
1✔
573
  }
574

575
  /** Retrieves the details of an account. */
576
  public static Account retrieve(
577
      String account, AccountRetrieveParams params, RequestOptions options) throws StripeException {
578
    String path = String.format("/v1/accounts/%s", ApiResource.urlEncodeId(account));
×
579
    ApiResource.checkNullTypedParams(path, params);
×
580
    ApiRequest request =
×
581
        new ApiRequest(
582
            BaseAddress.API,
583
            ApiResource.RequestMethod.GET,
584
            path,
585
            ApiRequestParams.paramsToMap(params),
×
586
            options);
587
    return getGlobalResponseGetter().request(request, Account.class);
×
588
  }
589

590
  /** Retrieves the details of an account. */
591
  public static Account retrieve() throws StripeException {
592
    return retrieve((Map<String, Object>) null, (RequestOptions) null);
1✔
593
  }
594

595
  /** Retrieves the details of an account. */
596
  public static Account retrieve(RequestOptions options) throws StripeException {
597
    return retrieve((Map<String, Object>) null, options);
×
598
  }
599

600
  /** Retrieves the details of an account. */
601
  public static Account retrieve(Map<String, Object> params, RequestOptions options)
602
      throws StripeException {
603
    String path = "/v1/account";
1✔
604
    ApiRequest request =
1✔
605
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options);
606
    return getGlobalResponseGetter().request(request, Account.class);
1✔
607
  }
608

609
  /** Retrieves the details of an account. */
610
  public static Account retrieve(AccountRetrieveParams params, RequestOptions options)
611
      throws StripeException {
612
    String path = "/v1/account";
×
613
    ApiResource.checkNullTypedParams(path, params);
×
614
    ApiRequest request =
×
615
        new ApiRequest(
616
            BaseAddress.API,
617
            ApiResource.RequestMethod.GET,
618
            path,
619
            ApiRequestParams.paramsToMap(params),
×
620
            options);
621
    return getGlobalResponseGetter().request(request, Account.class);
×
622
  }
623

624
  /**
625
   * Updates a <a href="https://stripe.com/connect/accounts">connected account</a> by setting the
626
   * values of the parameters passed. Any parameters not provided are left unchanged.
627
   *
628
   * <p>For accounts where <a
629
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
630
   * is {@code application}, which includes Custom accounts, you can update any information on the
631
   * account.
632
   *
633
   * <p>For accounts where <a
634
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
635
   * is {@code stripe}, which includes Standard and Express accounts, you can update all information
636
   * until you create an <a href="https://stripe.com/api/account_links">Account Link</a> or <a
637
   * href="https://stripe.com/api/account_sessions">Account Session</a> to start Connect onboarding,
638
   * after which some properties can no longer be updated.
639
   *
640
   * <p>To update your own account, use the <a
641
   * href="https://dashboard.stripe.com/settings/account">Dashboard</a>. Refer to our <a
642
   * href="https://stripe.com/docs/connect/updating-accounts">Connect</a> documentation to learn
643
   * more about updating accounts.
644
   */
645
  @Override
646
  public Account update(Map<String, Object> params) throws StripeException {
647
    return update(params, (RequestOptions) null);
1✔
648
  }
649

650
  /**
651
   * Updates a <a href="https://stripe.com/connect/accounts">connected account</a> by setting the
652
   * values of the parameters passed. Any parameters not provided are left unchanged.
653
   *
654
   * <p>For accounts where <a
655
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
656
   * is {@code application}, which includes Custom accounts, you can update any information on the
657
   * account.
658
   *
659
   * <p>For accounts where <a
660
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
661
   * is {@code stripe}, which includes Standard and Express accounts, you can update all information
662
   * until you create an <a href="https://stripe.com/api/account_links">Account Link</a> or <a
663
   * href="https://stripe.com/api/account_sessions">Account Session</a> to start Connect onboarding,
664
   * after which some properties can no longer be updated.
665
   *
666
   * <p>To update your own account, use the <a
667
   * href="https://dashboard.stripe.com/settings/account">Dashboard</a>. Refer to our <a
668
   * href="https://stripe.com/docs/connect/updating-accounts">Connect</a> documentation to learn
669
   * more about updating accounts.
670
   */
671
  @Override
672
  public Account update(Map<String, Object> params, RequestOptions options) throws StripeException {
673
    String path = String.format("/v1/accounts/%s", ApiResource.urlEncodeId(this.getId()));
1✔
674
    ApiRequest request =
1✔
675
        new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options);
676
    return getResponseGetter().request(request, Account.class);
1✔
677
  }
678

679
  /**
680
   * Updates a <a href="https://stripe.com/connect/accounts">connected account</a> by setting the
681
   * values of the parameters passed. Any parameters not provided are left unchanged.
682
   *
683
   * <p>For accounts where <a
684
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
685
   * is {@code application}, which includes Custom accounts, you can update any information on the
686
   * account.
687
   *
688
   * <p>For accounts where <a
689
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
690
   * is {@code stripe}, which includes Standard and Express accounts, you can update all information
691
   * until you create an <a href="https://stripe.com/api/account_links">Account Link</a> or <a
692
   * href="https://stripe.com/api/account_sessions">Account Session</a> to start Connect onboarding,
693
   * after which some properties can no longer be updated.
694
   *
695
   * <p>To update your own account, use the <a
696
   * href="https://dashboard.stripe.com/settings/account">Dashboard</a>. Refer to our <a
697
   * href="https://stripe.com/docs/connect/updating-accounts">Connect</a> documentation to learn
698
   * more about updating accounts.
699
   */
700
  public Account update(AccountUpdateParams params) throws StripeException {
701
    return update(params, (RequestOptions) null);
1✔
702
  }
703

704
  /**
705
   * Updates a <a href="https://stripe.com/connect/accounts">connected account</a> by setting the
706
   * values of the parameters passed. Any parameters not provided are left unchanged.
707
   *
708
   * <p>For accounts where <a
709
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
710
   * is {@code application}, which includes Custom accounts, you can update any information on the
711
   * account.
712
   *
713
   * <p>For accounts where <a
714
   * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
715
   * is {@code stripe}, which includes Standard and Express accounts, you can update all information
716
   * until you create an <a href="https://stripe.com/api/account_links">Account Link</a> or <a
717
   * href="https://stripe.com/api/account_sessions">Account Session</a> to start Connect onboarding,
718
   * after which some properties can no longer be updated.
719
   *
720
   * <p>To update your own account, use the <a
721
   * href="https://dashboard.stripe.com/settings/account">Dashboard</a>. Refer to our <a
722
   * href="https://stripe.com/docs/connect/updating-accounts">Connect</a> documentation to learn
723
   * more about updating accounts.
724
   */
725
  public Account update(AccountUpdateParams params, RequestOptions options) throws StripeException {
726
    String path = String.format("/v1/accounts/%s", ApiResource.urlEncodeId(this.getId()));
1✔
727
    ApiResource.checkNullTypedParams(path, params);
1✔
728
    ApiRequest request =
1✔
729
        new ApiRequest(
730
            BaseAddress.API,
731
            ApiResource.RequestMethod.POST,
732
            path,
733
            ApiRequestParams.paramsToMap(params),
1✔
734
            options);
735
    return getResponseGetter().request(request, Account.class);
1✔
736
  }
737

738
  @Getter
739
  @Setter
740
  @EqualsAndHashCode(callSuper = false)
741
  public static class BusinessProfile extends StripeObject {
1✔
742
    /** The applicant's gross annual revenue for its preceding fiscal year. */
743
    @SerializedName("annual_revenue")
744
    AnnualRevenue annualRevenue;
745

746
    /**
747
     * An estimated upper bound of employees, contractors, vendors, etc. currently working for the
748
     * business.
749
     */
750
    @SerializedName("estimated_worker_count")
751
    Long estimatedWorkerCount;
752

753
    /**
754
     * <a href="https://stripe.com/connect/setting-mcc">The merchant category code for the
755
     * account</a>. MCCs are used to classify businesses based on the goods or services they
756
     * provide.
757
     */
758
    @SerializedName("mcc")
759
    String mcc;
760

761
    @SerializedName("monthly_estimated_revenue")
762
    MonthlyEstimatedRevenue monthlyEstimatedRevenue;
763

764
    /** The customer-facing business name. */
765
    @SerializedName("name")
766
    String name;
767

768
    /**
769
     * Internal-only description of the product sold or service provided by the business. It's used
770
     * by Stripe for risk and underwriting purposes.
771
     */
772
    @SerializedName("product_description")
773
    String productDescription;
774

775
    /** A publicly available mailing address for sending support issues to. */
776
    @SerializedName("support_address")
777
    Address supportAddress;
778

779
    /** A publicly available email address for sending support issues to. */
780
    @SerializedName("support_email")
781
    String supportEmail;
782

783
    /** A publicly available phone number to call with support issues. */
784
    @SerializedName("support_phone")
785
    String supportPhone;
786

787
    /** A publicly available website for handling support issues. */
788
    @SerializedName("support_url")
789
    String supportUrl;
790

791
    /** The business's publicly available website. */
792
    @SerializedName("url")
793
    String url;
794

795
    @Getter
796
    @Setter
797
    @EqualsAndHashCode(callSuper = false)
798
    public static class AnnualRevenue extends StripeObject {
×
799
      /**
800
       * A non-negative integer representing the amount in the <a
801
       * href="https://stripe.com/currencies#zero-decimal">smallest currency unit</a>.
802
       */
803
      @SerializedName("amount")
804
      Long amount;
805

806
      /**
807
       * Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency
808
       * code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported
809
       * currency</a>.
810
       */
811
      @SerializedName("currency")
812
      String currency;
813

814
      /**
815
       * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the
816
       * 31st of December, 2023.
817
       */
818
      @SerializedName("fiscal_year_end")
819
      String fiscalYearEnd;
820
    }
821

822
    @Getter
823
    @Setter
824
    @EqualsAndHashCode(callSuper = false)
825
    public static class MonthlyEstimatedRevenue extends StripeObject {
×
826
      /**
827
       * A non-negative integer representing how much to charge in the <a
828
       * href="https://stripe.com/currencies#zero-decimal">smallest currency unit</a>.
829
       */
830
      @SerializedName("amount")
831
      Long amount;
832

833
      /**
834
       * Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency
835
       * code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported
836
       * currency</a>.
837
       */
838
      @SerializedName("currency")
839
      String currency;
840
    }
841
  }
842

843
  @Getter
844
  @Setter
845
  @EqualsAndHashCode(callSuper = false)
846
  public static class Capabilities extends StripeObject {
1✔
847
    /**
848
     * The status of the Canadian pre-authorized debits payments capability of the account, or
849
     * whether the account can directly process Canadian pre-authorized debits charges.
850
     *
851
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
852
     */
853
    @SerializedName("acss_debit_payments")
854
    String acssDebitPayments;
855

856
    /**
857
     * The status of the Affirm capability of the account, or whether the account can directly
858
     * process Affirm charges.
859
     *
860
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
861
     */
862
    @SerializedName("affirm_payments")
863
    String affirmPayments;
864

865
    /**
866
     * The status of the Afterpay Clearpay capability of the account, or whether the account can
867
     * directly process Afterpay Clearpay charges.
868
     *
869
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
870
     */
871
    @SerializedName("afterpay_clearpay_payments")
872
    String afterpayClearpayPayments;
873

874
    /**
875
     * The status of the AmazonPay capability of the account, or whether the account can directly
876
     * process AmazonPay payments.
877
     *
878
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
879
     */
880
    @SerializedName("amazon_pay_payments")
881
    String amazonPayPayments;
882

883
    /**
884
     * The status of the BECS Direct Debit (AU) payments capability of the account, or whether the
885
     * account can directly process BECS Direct Debit (AU) charges.
886
     *
887
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
888
     */
889
    @SerializedName("au_becs_debit_payments")
890
    String auBecsDebitPayments;
891

892
    /**
893
     * The status of the Bacs Direct Debits payments capability of the account, or whether the
894
     * account can directly process Bacs Direct Debits charges.
895
     *
896
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
897
     */
898
    @SerializedName("bacs_debit_payments")
899
    String bacsDebitPayments;
900

901
    /**
902
     * The status of the Bancontact payments capability of the account, or whether the account can
903
     * directly process Bancontact charges.
904
     *
905
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
906
     */
907
    @SerializedName("bancontact_payments")
908
    String bancontactPayments;
909

910
    /**
911
     * The status of the customer_balance payments capability of the account, or whether the account
912
     * can directly process customer_balance charges.
913
     *
914
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
915
     */
916
    @SerializedName("bank_transfer_payments")
917
    String bankTransferPayments;
918

919
    /**
920
     * The status of the blik payments capability of the account, or whether the account can
921
     * directly process blik charges.
922
     *
923
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
924
     */
925
    @SerializedName("blik_payments")
926
    String blikPayments;
927

928
    /**
929
     * The status of the boleto payments capability of the account, or whether the account can
930
     * directly process boleto charges.
931
     *
932
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
933
     */
934
    @SerializedName("boleto_payments")
935
    String boletoPayments;
936

937
    /**
938
     * The status of the card issuing capability of the account, or whether you can use Issuing to
939
     * distribute funds on cards
940
     *
941
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
942
     */
943
    @SerializedName("card_issuing")
944
    String cardIssuing;
945

946
    /**
947
     * The status of the card payments capability of the account, or whether the account can
948
     * directly process credit and debit card charges.
949
     *
950
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
951
     */
952
    @SerializedName("card_payments")
953
    String cardPayments;
954

955
    /**
956
     * The status of the Cartes Bancaires payments capability of the account, or whether the account
957
     * can directly process Cartes Bancaires card charges in EUR currency.
958
     *
959
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
960
     */
961
    @SerializedName("cartes_bancaires_payments")
962
    String cartesBancairesPayments;
963

964
    /**
965
     * The status of the Cash App Pay capability of the account, or whether the account can directly
966
     * process Cash App Pay payments.
967
     *
968
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
969
     */
970
    @SerializedName("cashapp_payments")
971
    String cashappPayments;
972

973
    /**
974
     * The status of the EPS payments capability of the account, or whether the account can directly
975
     * process EPS charges.
976
     *
977
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
978
     */
979
    @SerializedName("eps_payments")
980
    String epsPayments;
981

982
    /**
983
     * The status of the FPX payments capability of the account, or whether the account can directly
984
     * process FPX charges.
985
     *
986
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
987
     */
988
    @SerializedName("fpx_payments")
989
    String fpxPayments;
990

991
    /**
992
     * The status of the GB customer_balance payments (GBP currency) capability of the account, or
993
     * whether the account can directly process GB customer_balance charges.
994
     *
995
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
996
     */
997
    @SerializedName("gb_bank_transfer_payments")
998
    String gbBankTransferPayments;
999

1000
    /**
1001
     * The status of the giropay payments capability of the account, or whether the account can
1002
     * directly process giropay charges.
1003
     *
1004
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1005
     */
1006
    @SerializedName("giropay_payments")
1007
    String giropayPayments;
1008

1009
    /**
1010
     * The status of the GrabPay payments capability of the account, or whether the account can
1011
     * directly process GrabPay charges.
1012
     *
1013
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1014
     */
1015
    @SerializedName("grabpay_payments")
1016
    String grabpayPayments;
1017

1018
    /**
1019
     * The status of the iDEAL payments capability of the account, or whether the account can
1020
     * directly process iDEAL charges.
1021
     *
1022
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1023
     */
1024
    @SerializedName("ideal_payments")
1025
    String idealPayments;
1026

1027
    /**
1028
     * The status of the india_international_payments capability of the account, or whether the
1029
     * account can process international charges (non INR) in India.
1030
     *
1031
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1032
     */
1033
    @SerializedName("india_international_payments")
1034
    String indiaInternationalPayments;
1035

1036
    /**
1037
     * The status of the JCB payments capability of the account, or whether the account (Japan only)
1038
     * can directly process JCB credit card charges in JPY currency.
1039
     *
1040
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1041
     */
1042
    @SerializedName("jcb_payments")
1043
    String jcbPayments;
1044

1045
    /**
1046
     * The status of the Japanese customer_balance payments (JPY currency) capability of the
1047
     * account, or whether the account can directly process Japanese customer_balance charges.
1048
     *
1049
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1050
     */
1051
    @SerializedName("jp_bank_transfer_payments")
1052
    String jpBankTransferPayments;
1053

1054
    /**
1055
     * The status of the Klarna payments capability of the account, or whether the account can
1056
     * directly process Klarna charges.
1057
     *
1058
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1059
     */
1060
    @SerializedName("klarna_payments")
1061
    String klarnaPayments;
1062

1063
    /**
1064
     * The status of the konbini payments capability of the account, or whether the account can
1065
     * directly process konbini charges.
1066
     *
1067
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1068
     */
1069
    @SerializedName("konbini_payments")
1070
    String konbiniPayments;
1071

1072
    /**
1073
     * The status of the legacy payments capability of the account.
1074
     *
1075
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1076
     */
1077
    @SerializedName("legacy_payments")
1078
    String legacyPayments;
1079

1080
    /**
1081
     * The status of the link_payments capability of the account, or whether the account can
1082
     * directly process Link charges.
1083
     *
1084
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1085
     */
1086
    @SerializedName("link_payments")
1087
    String linkPayments;
1088

1089
    /**
1090
     * The status of the MB WAY payments capability of the account, or whether the account can
1091
     * directly process MB WAY charges.
1092
     *
1093
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1094
     */
1095
    @SerializedName("mb_way_payments")
1096
    String mbWayPayments;
1097

1098
    /**
1099
     * The status of the MobilePay capability of the account, or whether the account can directly
1100
     * process MobilePay charges.
1101
     *
1102
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1103
     */
1104
    @SerializedName("mobilepay_payments")
1105
    String mobilepayPayments;
1106

1107
    /**
1108
     * The status of the Multibanco payments capability of the account, or whether the account can
1109
     * directly process Multibanco charges.
1110
     *
1111
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1112
     */
1113
    @SerializedName("multibanco_payments")
1114
    String multibancoPayments;
1115

1116
    /**
1117
     * The status of the Mexican customer_balance payments (MXN currency) capability of the account,
1118
     * or whether the account can directly process Mexican customer_balance charges.
1119
     *
1120
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1121
     */
1122
    @SerializedName("mx_bank_transfer_payments")
1123
    String mxBankTransferPayments;
1124

1125
    /**
1126
     * The status of the OXXO payments capability of the account, or whether the account can
1127
     * directly process OXXO charges.
1128
     *
1129
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1130
     */
1131
    @SerializedName("oxxo_payments")
1132
    String oxxoPayments;
1133

1134
    /**
1135
     * The status of the P24 payments capability of the account, or whether the account can directly
1136
     * process P24 charges.
1137
     *
1138
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1139
     */
1140
    @SerializedName("p24_payments")
1141
    String p24Payments;
1142

1143
    /**
1144
     * The status of the paynow payments capability of the account, or whether the account can
1145
     * directly process paynow charges.
1146
     *
1147
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1148
     */
1149
    @SerializedName("paynow_payments")
1150
    String paynowPayments;
1151

1152
    /**
1153
     * The status of the PayPal payments capability of the account, or whether the account can
1154
     * directly process PayPal charges.
1155
     *
1156
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1157
     */
1158
    @SerializedName("paypal_payments")
1159
    String paypalPayments;
1160

1161
    /**
1162
     * The status of the PayTo capability of the account, or whether the account can directly
1163
     * process PayTo charges.
1164
     *
1165
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1166
     */
1167
    @SerializedName("payto_payments")
1168
    String paytoPayments;
1169

1170
    /**
1171
     * The status of the promptpay payments capability of the account, or whether the account can
1172
     * directly process promptpay charges.
1173
     *
1174
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1175
     */
1176
    @SerializedName("promptpay_payments")
1177
    String promptpayPayments;
1178

1179
    /**
1180
     * The status of the Rechnung capability of the account, or whether the account can directly
1181
     * process Rechnung payments.
1182
     *
1183
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1184
     */
1185
    @SerializedName("rechnung_payments")
1186
    String rechnungPayments;
1187

1188
    /**
1189
     * The status of the RevolutPay capability of the account, or whether the account can directly
1190
     * process RevolutPay payments.
1191
     *
1192
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1193
     */
1194
    @SerializedName("revolut_pay_payments")
1195
    String revolutPayPayments;
1196

1197
    /**
1198
     * The status of the SEPA customer_balance payments (EUR currency) capability of the account, or
1199
     * whether the account can directly process SEPA customer_balance charges.
1200
     *
1201
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1202
     */
1203
    @SerializedName("sepa_bank_transfer_payments")
1204
    String sepaBankTransferPayments;
1205

1206
    /**
1207
     * The status of the SEPA Direct Debits payments capability of the account, or whether the
1208
     * account can directly process SEPA Direct Debits charges.
1209
     *
1210
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1211
     */
1212
    @SerializedName("sepa_debit_payments")
1213
    String sepaDebitPayments;
1214

1215
    /**
1216
     * The status of the Sofort payments capability of the account, or whether the account can
1217
     * directly process Sofort charges.
1218
     *
1219
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1220
     */
1221
    @SerializedName("sofort_payments")
1222
    String sofortPayments;
1223

1224
    /**
1225
     * The status of the Swish capability of the account, or whether the account can directly
1226
     * process Swish payments.
1227
     *
1228
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1229
     */
1230
    @SerializedName("swish_payments")
1231
    String swishPayments;
1232

1233
    /**
1234
     * The status of the tax reporting 1099-K (US) capability of the account.
1235
     *
1236
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1237
     */
1238
    @SerializedName("tax_reporting_us_1099_k")
1239
    String taxReportingUs1099K;
1240

1241
    /**
1242
     * The status of the tax reporting 1099-MISC (US) capability of the account.
1243
     *
1244
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1245
     */
1246
    @SerializedName("tax_reporting_us_1099_misc")
1247
    String taxReportingUs1099Misc;
1248

1249
    /**
1250
     * The status of the transfers capability of the account, or whether your platform can transfer
1251
     * funds to the account.
1252
     *
1253
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1254
     */
1255
    @SerializedName("transfers")
1256
    String transfers;
1257

1258
    /**
1259
     * The status of the banking capability, or whether the account can have bank accounts.
1260
     *
1261
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1262
     */
1263
    @SerializedName("treasury")
1264
    String treasury;
1265

1266
    /**
1267
     * The status of the TWINT capability of the account, or whether the account can directly
1268
     * process TWINT charges.
1269
     *
1270
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1271
     */
1272
    @SerializedName("twint_payments")
1273
    String twintPayments;
1274

1275
    /**
1276
     * The status of the US bank account ACH payments capability of the account, or whether the
1277
     * account can directly process US bank account charges.
1278
     *
1279
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1280
     */
1281
    @SerializedName("us_bank_account_ach_payments")
1282
    String usBankAccountAchPayments;
1283

1284
    /**
1285
     * The status of the US customer_balance payments (USD currency) capability of the account, or
1286
     * whether the account can directly process US customer_balance charges.
1287
     *
1288
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1289
     */
1290
    @SerializedName("us_bank_transfer_payments")
1291
    String usBankTransferPayments;
1292

1293
    /**
1294
     * The status of the Zip capability of the account, or whether the account can directly process
1295
     * Zip charges.
1296
     *
1297
     * <p>One of {@code active}, {@code inactive}, or {@code pending}.
1298
     */
1299
    @SerializedName("zip_payments")
1300
    String zipPayments;
1301
  }
1302

1303
  @Getter
1304
  @Setter
1305
  @EqualsAndHashCode(callSuper = false)
1306
  public static class Company extends StripeObject {
×
1307
    @SerializedName("address")
1308
    Address address;
1309

1310
    /** The Kana variation of the company's primary address (Japan only). */
1311
    @SerializedName("address_kana")
1312
    AddressKana addressKana;
1313

1314
    /** The Kanji variation of the company's primary address (Japan only). */
1315
    @SerializedName("address_kanji")
1316
    AddressKanji addressKanji;
1317

1318
    /**
1319
     * Whether the company's directors have been provided. This Boolean will be {@code true} if
1320
     * you've manually indicated that all directors are provided via <a
1321
     * href="https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided">the
1322
     * {@code directors_provided} parameter</a>.
1323
     */
1324
    @SerializedName("directors_provided")
1325
    Boolean directorsProvided;
1326

1327
    /**
1328
     * Whether the company's executives have been provided. This Boolean will be {@code true} if
1329
     * you've manually indicated that all executives are provided via <a
1330
     * href="https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided">the
1331
     * {@code executives_provided} parameter</a>, or if Stripe determined that sufficient executives
1332
     * were provided.
1333
     */
1334
    @SerializedName("executives_provided")
1335
    Boolean executivesProvided;
1336

1337
    /**
1338
     * The export license ID number of the company, also referred as Import Export Code (India
1339
     * only).
1340
     */
1341
    @SerializedName("export_license_id")
1342
    String exportLicenseId;
1343

1344
    /** The purpose code to use for export transactions (India only). */
1345
    @SerializedName("export_purpose_code")
1346
    String exportPurposeCode;
1347

1348
    /** The company's legal name. */
1349
    @SerializedName("name")
1350
    String name;
1351

1352
    /** The Kana variation of the company's legal name (Japan only). */
1353
    @SerializedName("name_kana")
1354
    String nameKana;
1355

1356
    /** The Kanji variation of the company's legal name (Japan only). */
1357
    @SerializedName("name_kanji")
1358
    String nameKanji;
1359

1360
    /**
1361
     * Whether the company's owners have been provided. This Boolean will be {@code true} if you've
1362
     * manually indicated that all owners are provided via <a
1363
     * href="https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided">the
1364
     * {@code owners_provided} parameter</a>, or if Stripe determined that sufficient owners were
1365
     * provided. Stripe determines ownership requirements using both the number of owners provided
1366
     * and their total percent ownership (calculated by adding the {@code percent_ownership} of each
1367
     * owner together).
1368
     */
1369
    @SerializedName("owners_provided")
1370
    Boolean ownersProvided;
1371

1372
    /**
1373
     * This hash is used to attest that the beneficial owner information provided to Stripe is both
1374
     * current and correct.
1375
     */
1376
    @SerializedName("ownership_declaration")
1377
    OwnershipDeclaration ownershipDeclaration;
1378

1379
    /** The company's phone number (used for verification). */
1380
    @SerializedName("phone")
1381
    String phone;
1382

1383
    /**
1384
     * The category identifying the legal structure of the company or legal entity. See <a
1385
     * href="https://stripe.com/docs/connect/identity-verification#business-structure">Business
1386
     * structure</a> for more details.
1387
     *
1388
     * <p>One of {@code free_zone_establishment}, {@code free_zone_llc}, {@code
1389
     * government_instrumentality}, {@code governmental_unit}, {@code incorporated_non_profit},
1390
     * {@code incorporated_partnership}, {@code limited_liability_partnership}, {@code llc}, {@code
1391
     * multi_member_llc}, {@code private_company}, {@code private_corporation}, {@code
1392
     * private_partnership}, {@code public_company}, {@code public_corporation}, {@code
1393
     * public_partnership}, {@code registered_charity}, {@code single_member_llc}, {@code
1394
     * sole_establishment}, {@code sole_proprietorship}, {@code
1395
     * tax_exempt_government_instrumentality}, {@code unincorporated_association}, {@code
1396
     * unincorporated_non_profit}, or {@code unincorporated_partnership}.
1397
     */
1398
    @SerializedName("structure")
1399
    String structure;
1400

1401
    /** Whether the company's business ID number was provided. */
1402
    @SerializedName("tax_id_provided")
1403
    Boolean taxIdProvided;
1404

1405
    /**
1406
     * The jurisdiction in which the {@code tax_id} is registered (Germany-based companies only).
1407
     */
1408
    @SerializedName("tax_id_registrar")
1409
    String taxIdRegistrar;
1410

1411
    /** Whether the company's business VAT number was provided. */
1412
    @SerializedName("vat_id_provided")
1413
    Boolean vatIdProvided;
1414

1415
    /** Information on the verification state of the company. */
1416
    @SerializedName("verification")
1417
    Verification verification;
1418

1419
    @Getter
1420
    @Setter
1421
    @EqualsAndHashCode(callSuper = false)
1422
    public static class AddressKana extends StripeObject {
×
1423
      /** City/Ward. */
1424
      @SerializedName("city")
1425
      String city;
1426

1427
      /**
1428
       * Two-letter country code (<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO
1429
       * 3166-1 alpha-2</a>).
1430
       */
1431
      @SerializedName("country")
1432
      String country;
1433

1434
      /** Block/Building number. */
1435
      @SerializedName("line1")
1436
      String line1;
1437

1438
      /** Building details. */
1439
      @SerializedName("line2")
1440
      String line2;
1441

1442
      /** ZIP or postal code. */
1443
      @SerializedName("postal_code")
1444
      String postalCode;
1445

1446
      /** Prefecture. */
1447
      @SerializedName("state")
1448
      String state;
1449

1450
      /** Town/cho-me. */
1451
      @SerializedName("town")
1452
      String town;
1453
    }
1454

1455
    @Getter
1456
    @Setter
1457
    @EqualsAndHashCode(callSuper = false)
1458
    public static class AddressKanji extends StripeObject {
×
1459
      /** City/Ward. */
1460
      @SerializedName("city")
1461
      String city;
1462

1463
      /**
1464
       * Two-letter country code (<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO
1465
       * 3166-1 alpha-2</a>).
1466
       */
1467
      @SerializedName("country")
1468
      String country;
1469

1470
      /** Block/Building number. */
1471
      @SerializedName("line1")
1472
      String line1;
1473

1474
      /** Building details. */
1475
      @SerializedName("line2")
1476
      String line2;
1477

1478
      /** ZIP or postal code. */
1479
      @SerializedName("postal_code")
1480
      String postalCode;
1481

1482
      /** Prefecture. */
1483
      @SerializedName("state")
1484
      String state;
1485

1486
      /** Town/cho-me. */
1487
      @SerializedName("town")
1488
      String town;
1489
    }
1490

1491
    @Getter
1492
    @Setter
1493
    @EqualsAndHashCode(callSuper = false)
1494
    public static class OwnershipDeclaration extends StripeObject {
×
1495
      /** The Unix timestamp marking when the beneficial owner attestation was made. */
1496
      @SerializedName("date")
1497
      Long date;
1498

1499
      /** The IP address from which the beneficial owner attestation was made. */
1500
      @SerializedName("ip")
1501
      String ip;
1502

1503
      /** The user-agent string from the browser where the beneficial owner attestation was made. */
1504
      @SerializedName("user_agent")
1505
      String userAgent;
1506
    }
1507

1508
    @Getter
1509
    @Setter
1510
    @EqualsAndHashCode(callSuper = false)
1511
    public static class Verification extends StripeObject {
×
1512
      @SerializedName("document")
1513
      Document document;
1514

1515
      @Getter
1516
      @Setter
1517
      @EqualsAndHashCode(callSuper = false)
1518
      public static class Document extends StripeObject {
×
1519
        /**
1520
         * The back of a document returned by a <a
1521
         * href="https://stripe.com/docs/api#create_file">file upload</a> with a {@code purpose}
1522
         * value of {@code additional_verification}.
1523
         */
1524
        @SerializedName("back")
1525
        @Getter(lombok.AccessLevel.NONE)
1526
        @Setter(lombok.AccessLevel.NONE)
1527
        ExpandableField<File> back;
1528

1529
        /** A user-displayable string describing the verification state of this document. */
1530
        @SerializedName("details")
1531
        String details;
1532

1533
        /**
1534
         * One of {@code document_corrupt}, {@code document_expired}, {@code document_failed_copy},
1535
         * {@code document_failed_greyscale}, {@code document_failed_other}, {@code
1536
         * document_failed_test_mode}, {@code document_fraudulent}, {@code document_incomplete},
1537
         * {@code document_invalid}, {@code document_manipulated}, {@code document_not_readable},
1538
         * {@code document_not_uploaded}, {@code document_type_not_supported}, or {@code
1539
         * document_too_large}. A machine-readable code specifying the verification state for this
1540
         * document.
1541
         */
1542
        @SerializedName("details_code")
1543
        String detailsCode;
1544

1545
        /**
1546
         * The front of a document returned by a <a
1547
         * href="https://stripe.com/docs/api#create_file">file upload</a> with a {@code purpose}
1548
         * value of {@code additional_verification}.
1549
         */
1550
        @SerializedName("front")
1551
        @Getter(lombok.AccessLevel.NONE)
1552
        @Setter(lombok.AccessLevel.NONE)
1553
        ExpandableField<File> front;
1554

1555
        /** Get ID of expandable {@code back} object. */
1556
        public String getBack() {
1557
          return (this.back != null) ? this.back.getId() : null;
×
1558
        }
1559

1560
        public void setBack(String id) {
1561
          this.back = ApiResource.setExpandableFieldId(id, this.back);
×
1562
        }
×
1563

1564
        /** Get expanded {@code back}. */
1565
        public File getBackObject() {
1566
          return (this.back != null) ? this.back.getExpanded() : null;
×
1567
        }
1568

1569
        public void setBackObject(File expandableObject) {
1570
          this.back = new ExpandableField<File>(expandableObject.getId(), expandableObject);
×
1571
        }
×
1572

1573
        /** Get ID of expandable {@code front} object. */
1574
        public String getFront() {
1575
          return (this.front != null) ? this.front.getId() : null;
×
1576
        }
1577

1578
        public void setFront(String id) {
1579
          this.front = ApiResource.setExpandableFieldId(id, this.front);
×
1580
        }
×
1581

1582
        /** Get expanded {@code front}. */
1583
        public File getFrontObject() {
1584
          return (this.front != null) ? this.front.getExpanded() : null;
×
1585
        }
1586

1587
        public void setFrontObject(File expandableObject) {
1588
          this.front = new ExpandableField<File>(expandableObject.getId(), expandableObject);
×
1589
        }
×
1590
      }
1591
    }
1592
  }
1593

1594
  @Getter
1595
  @Setter
1596
  @EqualsAndHashCode(callSuper = false)
1597
  public static class Controller extends StripeObject {
1✔
1598
    @SerializedName("application")
1599
    Application application;
1600

1601
    @SerializedName("dashboard")
1602
    Dashboard dashboard;
1603

1604
    @SerializedName("fees")
1605
    Fees fees;
1606

1607
    /**
1608
     * {@code true} if the Connect application retrieving the resource controls the account and can
1609
     * therefore exercise <a
1610
     * href="https://stripe.com/docs/connect/platform-controls-for-standard-accounts">platform
1611
     * controls</a>. Otherwise, this field is null.
1612
     */
1613
    @SerializedName("is_controller")
1614
    Boolean isController;
1615

1616
    @SerializedName("losses")
1617
    Losses losses;
1618

1619
    /**
1620
     * A value indicating responsibility for collecting requirements on this account. Only returned
1621
     * when the Connect application retrieving the resource controls the account.
1622
     *
1623
     * <p>One of {@code application}, or {@code stripe}.
1624
     */
1625
    @SerializedName("requirement_collection")
1626
    String requirementCollection;
1627

1628
    @SerializedName("stripe_dashboard")
1629
    StripeDashboard stripeDashboard;
1630

1631
    /**
1632
     * The controller type. Can be {@code application}, if a Connect application controls the
1633
     * account, or {@code account}, if the account controls itself.
1634
     */
1635
    @SerializedName("type")
1636
    String type;
1637

1638
    @Getter
1639
    @Setter
1640
    @EqualsAndHashCode(callSuper = false)
1641
    public static class Application extends StripeObject {
×
1642
      /**
1643
       * {@code true} if the Connect application is responsible for negative balances and should
1644
       * manage credit and fraud risk on the account.
1645
       */
1646
      @SerializedName("loss_liable")
1647
      Boolean lossLiable;
1648

1649
      /** {@code true} if the Connect application is responsible for onboarding the account. */
1650
      @SerializedName("onboarding_owner")
1651
      Boolean onboardingOwner;
1652

1653
      /**
1654
       * {@code true} if the Connect application is responsible for paying Stripe fees on
1655
       * pricing-control eligible products.
1656
       */
1657
      @SerializedName("pricing_controls")
1658
      Boolean pricingControls;
1659
    }
1660

1661
    @Getter
1662
    @Setter
1663
    @EqualsAndHashCode(callSuper = false)
1664
    public static class Dashboard extends StripeObject {
×
1665
      /**
1666
       * Whether this account has access to the full Stripe dashboard ({@code full}), to the Express
1667
       * dashboard ({@code express}), or to no dashboard ({@code none}).
1668
       *
1669
       * <p>One of {@code express}, {@code full}, or {@code none}.
1670
       */
1671
      @SerializedName("type")
1672
      String type;
1673
    }
1674

1675
    @Getter
1676
    @Setter
1677
    @EqualsAndHashCode(callSuper = false)
1678
    public static class Fees extends StripeObject {
×
1679
      /**
1680
       * A value indicating the responsible payer of a bundle of Stripe fees for pricing-control
1681
       * eligible products on this account. Learn more about <a
1682
       * href="https://docs.stripe.com/connect/direct-charges-fee-payer-behavior">fee behavior on
1683
       * connected accounts</a>.
1684
       *
1685
       * <p>One of {@code account}, {@code application}, {@code application_custom}, {@code
1686
       * application_express}, or {@code application_unified_accounts_beta}.
1687
       */
1688
      @SerializedName("payer")
1689
      String payer;
1690
    }
1691

1692
    @Getter
1693
    @Setter
1694
    @EqualsAndHashCode(callSuper = false)
1695
    public static class Losses extends StripeObject {
×
1696
      /**
1697
       * A value indicating who is liable when this account can't pay back negative balances from
1698
       * payments.
1699
       *
1700
       * <p>One of {@code application}, or {@code stripe}.
1701
       */
1702
      @SerializedName("payments")
1703
      String payments;
1704
    }
1705

1706
    @Getter
1707
    @Setter
1708
    @EqualsAndHashCode(callSuper = false)
1709
    public static class StripeDashboard extends StripeObject {
×
1710
      /**
1711
       * A value indicating the Stripe dashboard this account has access to independent of the
1712
       * Connect application.
1713
       *
1714
       * <p>One of {@code express}, {@code full}, or {@code none}.
1715
       */
1716
      @SerializedName("type")
1717
      String type;
1718
    }
1719
  }
1720

1721
  @Getter
1722
  @Setter
1723
  @EqualsAndHashCode(callSuper = false)
1724
  public static class FutureRequirements extends StripeObject {
1✔
1725
    /**
1726
     * Fields that are due and can be satisfied by providing the corresponding alternative fields
1727
     * instead.
1728
     */
1729
    @SerializedName("alternatives")
1730
    List<Account.FutureRequirements.Alternative> alternatives;
1731

1732
    /**
1733
     * Date on which {@code future_requirements} merges with the main {@code requirements} hash and
1734
     * {@code future_requirements} becomes empty. After the transition, {@code currently_due}
1735
     * requirements may immediately become {@code past_due}, but the account may also be given a
1736
     * grace period depending on its enablement state prior to transitioning.
1737
     */
1738
    @SerializedName("current_deadline")
1739
    Long currentDeadline;
1740

1741
    /**
1742
     * Fields that need to be collected to keep the account enabled. If not collected by {@code
1743
     * future_requirements[current_deadline]}, these fields will transition to the main {@code
1744
     * requirements} hash.
1745
     */
1746
    @SerializedName("currently_due")
1747
    List<String> currentlyDue;
1748

1749
    /** This is typed as a string for consistency with {@code requirements.disabled_reason}. */
1750
    @SerializedName("disabled_reason")
1751
    String disabledReason;
1752

1753
    /**
1754
     * Fields that are {@code currently_due} and need to be collected again because validation or
1755
     * verification failed.
1756
     */
1757
    @SerializedName("errors")
1758
    List<Account.FutureRequirements.Errors> errors;
1759

1760
    /**
1761
     * Fields that need to be collected assuming all volume thresholds are reached. As they become
1762
     * required, they appear in {@code currently_due} as well.
1763
     */
1764
    @SerializedName("eventually_due")
1765
    List<String> eventuallyDue;
1766

1767
    /**
1768
     * Fields that weren't collected by {@code requirements.current_deadline}. These fields need to
1769
     * be collected to enable the capability on the account. New fields will never appear here;
1770
     * {@code future_requirements.past_due} will always be a subset of {@code
1771
     * requirements.past_due}.
1772
     */
1773
    @SerializedName("past_due")
1774
    List<String> pastDue;
1775

1776
    /**
1777
     * Fields that might become required depending on the results of verification or review. It's an
1778
     * empty array unless an asynchronous verification is pending. If verification fails, these
1779
     * fields move to {@code eventually_due} or {@code currently_due}. Fields might appear in {@code
1780
     * eventually_due} or {@code currently_due} and in {@code pending_verification} if verification
1781
     * fails but another verification is still pending.
1782
     */
1783
    @SerializedName("pending_verification")
1784
    List<String> pendingVerification;
1785

1786
    @Getter
1787
    @Setter
1788
    @EqualsAndHashCode(callSuper = false)
1789
    public static class Alternative extends StripeObject {
×
1790
      /** Fields that can be provided to satisfy all fields in {@code original_fields_due}. */
1791
      @SerializedName("alternative_fields_due")
1792
      List<String> alternativeFieldsDue;
1793

1794
      /**
1795
       * Fields that are due and can be satisfied by providing all fields in {@code
1796
       * alternative_fields_due}.
1797
       */
1798
      @SerializedName("original_fields_due")
1799
      List<String> originalFieldsDue;
1800
    }
1801

1802
    @Getter
1803
    @Setter
1804
    @EqualsAndHashCode(callSuper = false)
1805
    public static class Errors extends StripeObject {
×
1806
      /**
1807
       * The code for the type of error.
1808
       *
1809
       * <p>One of {@code invalid_address_city_state_postal_code}, {@code
1810
       * invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, {@code
1811
       * invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, {@code
1812
       * invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code
1813
       * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code
1814
       * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code
1815
       * invalid_representative_country}, {@code invalid_statement_descriptor_business_mismatch},
1816
       * {@code invalid_statement_descriptor_denylisted}, {@code
1817
       * invalid_statement_descriptor_length}, {@code
1818
       * invalid_statement_descriptor_prefix_denylisted}, {@code
1819
       * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code
1820
       * invalid_tax_id}, {@code invalid_tax_id_format}, {@code invalid_tos_acceptance}, {@code
1821
       * invalid_url_denylisted}, {@code invalid_url_format}, {@code invalid_url_length}, {@code
1822
       * invalid_url_web_presence_detected}, {@code
1823
       * invalid_url_website_business_information_mismatch}, {@code invalid_url_website_empty},
1824
       * {@code invalid_url_website_inaccessible}, {@code
1825
       * invalid_url_website_inaccessible_geoblocked}, {@code
1826
       * invalid_url_website_inaccessible_password_protected}, {@code
1827
       * invalid_url_website_incomplete}, {@code
1828
       * invalid_url_website_incomplete_cancellation_policy}, {@code
1829
       * invalid_url_website_incomplete_customer_service_details}, {@code
1830
       * invalid_url_website_incomplete_legal_restrictions}, {@code
1831
       * invalid_url_website_incomplete_refund_policy}, {@code
1832
       * invalid_url_website_incomplete_return_policy}, {@code
1833
       * invalid_url_website_incomplete_terms_and_conditions}, {@code
1834
       * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other},
1835
       * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code
1836
       * verification_document_address_mismatch}, {@code verification_document_address_missing},
1837
       * {@code verification_document_corrupt}, {@code verification_document_country_not_supported},
1838
       * {@code verification_document_directors_mismatch}, {@code
1839
       * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code
1840
       * verification_document_expired}, {@code verification_document_failed_copy}, {@code
1841
       * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code
1842
       * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code
1843
       * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing},
1844
       * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code
1845
       * verification_document_issue_or_expiry_date_missing}, {@code
1846
       * verification_document_manipulated}, {@code verification_document_missing_back}, {@code
1847
       * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code
1848
       * verification_document_name_missing}, {@code verification_document_nationality_mismatch},
1849
       * {@code verification_document_not_readable}, {@code verification_document_not_signed},
1850
       * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch},
1851
       * {@code verification_document_too_large}, {@code verification_document_type_not_supported},
1852
       * {@code verification_extraneous_directors}, {@code verification_failed_address_match},
1853
       * {@code verification_failed_business_iec_number}, {@code
1854
       * verification_failed_document_match}, {@code verification_failed_id_number_match}, {@code
1855
       * verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code
1856
       * verification_failed_name_match}, {@code verification_failed_other}, {@code
1857
       * verification_failed_representative_authority}, {@code
1858
       * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code
1859
       * verification_failed_tax_id_not_issued}, {@code verification_missing_directors}, {@code
1860
       * verification_missing_executives}, {@code verification_missing_owners}, {@code
1861
       * verification_requires_additional_memorandum_of_associations}, {@code
1862
       * verification_requires_additional_proof_of_registration}, or {@code
1863
       * verification_supportability}.
1864
       */
1865
      @SerializedName("code")
1866
      String code;
1867

1868
      /**
1869
       * An informative message that indicates the error type and provides additional details about
1870
       * the error.
1871
       */
1872
      @SerializedName("reason")
1873
      String reason;
1874

1875
      /**
1876
       * The specific user onboarding requirement field (in the requirements hash) that needs to be
1877
       * resolved.
1878
       */
1879
      @SerializedName("requirement")
1880
      String requirement;
1881
    }
1882
  }
1883

1884
  @Getter
1885
  @Setter
1886
  @EqualsAndHashCode(callSuper = false)
NEW
1887
  public static class Groups extends StripeObject {
×
1888
    /**
1889
     * The group the account is in to determine their payments pricing, and null if the account is
1890
     * on customized pricing. <a href="https://stripe.com/docs/connect/platform-pricing-tools">See
1891
     * the Platform pricing tool documentation</a> for details.
1892
     */
1893
    @SerializedName("payments_pricing")
1894
    String paymentsPricing;
1895
  }
1896

1897
  @Getter
1898
  @Setter
1899
  @EqualsAndHashCode(callSuper = false)
1900
  public static class Requirements extends StripeObject {
1✔
1901
    /**
1902
     * Fields that are due and can be satisfied by providing the corresponding alternative fields
1903
     * instead.
1904
     */
1905
    @SerializedName("alternatives")
1906
    List<Account.Requirements.Alternative> alternatives;
1907

1908
    /**
1909
     * Date by which the fields in {@code currently_due} must be collected to keep the account
1910
     * enabled. These fields may disable the account sooner if the next threshold is reached before
1911
     * they are collected.
1912
     */
1913
    @SerializedName("current_deadline")
1914
    Long currentDeadline;
1915

1916
    /**
1917
     * Fields that need to be collected to keep the account enabled. If not collected by {@code
1918
     * current_deadline}, these fields appear in {@code past_due} as well, and the account is
1919
     * disabled.
1920
     */
1921
    @SerializedName("currently_due")
1922
    List<String> currentlyDue;
1923

1924
    /**
1925
     * If the account is disabled, this string describes why. <a
1926
     * href="https://stripe.com/docs/connect/handling-api-verification">Learn more about handling
1927
     * verification issues</a>. Can be {@code action_required.requested_capabilities}, {@code
1928
     * requirements.past_due}, {@code requirements.pending_verification}, {@code listed}, {@code
1929
     * platform_paused}, {@code rejected.fraud}, {@code rejected.incomplete_verification}, {@code
1930
     * rejected.listed}, {@code rejected.other}, {@code rejected.terms_of_service}, {@code
1931
     * under_review}, or {@code other}.
1932
     */
1933
    @SerializedName("disabled_reason")
1934
    String disabledReason;
1935

1936
    /**
1937
     * Fields that are {@code currently_due} and need to be collected again because validation or
1938
     * verification failed.
1939
     */
1940
    @SerializedName("errors")
1941
    List<Account.Requirements.Errors> errors;
1942

1943
    /**
1944
     * Fields that need to be collected assuming all volume thresholds are reached. As they become
1945
     * required, they appear in {@code currently_due} as well, and {@code current_deadline} becomes
1946
     * set.
1947
     */
1948
    @SerializedName("eventually_due")
1949
    List<String> eventuallyDue;
1950

1951
    /**
1952
     * Fields that weren't collected by {@code current_deadline}. These fields need to be collected
1953
     * to enable the account.
1954
     */
1955
    @SerializedName("past_due")
1956
    List<String> pastDue;
1957

1958
    /**
1959
     * Fields that might become required depending on the results of verification or review. It's an
1960
     * empty array unless an asynchronous verification is pending. If verification fails, these
1961
     * fields move to {@code eventually_due}, {@code currently_due}, or {@code past_due}. Fields
1962
     * might appear in {@code eventually_due}, {@code currently_due}, or {@code past_due} and in
1963
     * {@code pending_verification} if verification fails but another verification is still pending.
1964
     */
1965
    @SerializedName("pending_verification")
1966
    List<String> pendingVerification;
1967

1968
    @Getter
1969
    @Setter
1970
    @EqualsAndHashCode(callSuper = false)
1971
    public static class Alternative extends StripeObject {
×
1972
      /** Fields that can be provided to satisfy all fields in {@code original_fields_due}. */
1973
      @SerializedName("alternative_fields_due")
1974
      List<String> alternativeFieldsDue;
1975

1976
      /**
1977
       * Fields that are due and can be satisfied by providing all fields in {@code
1978
       * alternative_fields_due}.
1979
       */
1980
      @SerializedName("original_fields_due")
1981
      List<String> originalFieldsDue;
1982
    }
1983

1984
    @Getter
1985
    @Setter
1986
    @EqualsAndHashCode(callSuper = false)
1987
    public static class Errors extends StripeObject {
×
1988
      /**
1989
       * The code for the type of error.
1990
       *
1991
       * <p>One of {@code invalid_address_city_state_postal_code}, {@code
1992
       * invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, {@code
1993
       * invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, {@code
1994
       * invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code
1995
       * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code
1996
       * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code
1997
       * invalid_representative_country}, {@code invalid_statement_descriptor_business_mismatch},
1998
       * {@code invalid_statement_descriptor_denylisted}, {@code
1999
       * invalid_statement_descriptor_length}, {@code
2000
       * invalid_statement_descriptor_prefix_denylisted}, {@code
2001
       * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code
2002
       * invalid_tax_id}, {@code invalid_tax_id_format}, {@code invalid_tos_acceptance}, {@code
2003
       * invalid_url_denylisted}, {@code invalid_url_format}, {@code invalid_url_length}, {@code
2004
       * invalid_url_web_presence_detected}, {@code
2005
       * invalid_url_website_business_information_mismatch}, {@code invalid_url_website_empty},
2006
       * {@code invalid_url_website_inaccessible}, {@code
2007
       * invalid_url_website_inaccessible_geoblocked}, {@code
2008
       * invalid_url_website_inaccessible_password_protected}, {@code
2009
       * invalid_url_website_incomplete}, {@code
2010
       * invalid_url_website_incomplete_cancellation_policy}, {@code
2011
       * invalid_url_website_incomplete_customer_service_details}, {@code
2012
       * invalid_url_website_incomplete_legal_restrictions}, {@code
2013
       * invalid_url_website_incomplete_refund_policy}, {@code
2014
       * invalid_url_website_incomplete_return_policy}, {@code
2015
       * invalid_url_website_incomplete_terms_and_conditions}, {@code
2016
       * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other},
2017
       * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code
2018
       * verification_document_address_mismatch}, {@code verification_document_address_missing},
2019
       * {@code verification_document_corrupt}, {@code verification_document_country_not_supported},
2020
       * {@code verification_document_directors_mismatch}, {@code
2021
       * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code
2022
       * verification_document_expired}, {@code verification_document_failed_copy}, {@code
2023
       * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code
2024
       * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code
2025
       * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing},
2026
       * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code
2027
       * verification_document_issue_or_expiry_date_missing}, {@code
2028
       * verification_document_manipulated}, {@code verification_document_missing_back}, {@code
2029
       * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code
2030
       * verification_document_name_missing}, {@code verification_document_nationality_mismatch},
2031
       * {@code verification_document_not_readable}, {@code verification_document_not_signed},
2032
       * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch},
2033
       * {@code verification_document_too_large}, {@code verification_document_type_not_supported},
2034
       * {@code verification_extraneous_directors}, {@code verification_failed_address_match},
2035
       * {@code verification_failed_business_iec_number}, {@code
2036
       * verification_failed_document_match}, {@code verification_failed_id_number_match}, {@code
2037
       * verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code
2038
       * verification_failed_name_match}, {@code verification_failed_other}, {@code
2039
       * verification_failed_representative_authority}, {@code
2040
       * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code
2041
       * verification_failed_tax_id_not_issued}, {@code verification_missing_directors}, {@code
2042
       * verification_missing_executives}, {@code verification_missing_owners}, {@code
2043
       * verification_requires_additional_memorandum_of_associations}, {@code
2044
       * verification_requires_additional_proof_of_registration}, or {@code
2045
       * verification_supportability}.
2046
       */
2047
      @SerializedName("code")
2048
      String code;
2049

2050
      /**
2051
       * An informative message that indicates the error type and provides additional details about
2052
       * the error.
2053
       */
2054
      @SerializedName("reason")
2055
      String reason;
2056

2057
      /**
2058
       * The specific user onboarding requirement field (in the requirements hash) that needs to be
2059
       * resolved.
2060
       */
2061
      @SerializedName("requirement")
2062
      String requirement;
2063
    }
2064
  }
2065

2066
  @Getter
2067
  @Setter
2068
  @EqualsAndHashCode(callSuper = false)
2069
  public static class RiskControls extends StripeObject {
×
2070
    @SerializedName("charges")
2071
    Charges charges;
2072

2073
    @SerializedName("payouts")
2074
    Payouts payouts;
2075

2076
    @Getter
2077
    @Setter
2078
    @EqualsAndHashCode(callSuper = false)
2079
    public static class Charges extends StripeObject {
×
2080
      /** Whether a pause of the risk control has been requested. */
2081
      @SerializedName("pause_requested")
2082
      Boolean pauseRequested;
2083
    }
2084

2085
    @Getter
2086
    @Setter
2087
    @EqualsAndHashCode(callSuper = false)
2088
    public static class Payouts extends StripeObject {
×
2089
      /** Whether a pause of the risk control has been requested. */
2090
      @SerializedName("pause_requested")
2091
      Boolean pauseRequested;
2092
    }
2093
  }
2094

2095
  @Getter
2096
  @Setter
2097
  @EqualsAndHashCode(callSuper = false)
2098
  public static class Settings extends StripeObject {
1✔
2099
    @SerializedName("bacs_debit_payments")
2100
    BacsDebitPayments bacsDebitPayments;
2101

2102
    @SerializedName("branding")
2103
    Branding branding;
2104

2105
    @SerializedName("capital")
2106
    Capital capital;
2107

2108
    @SerializedName("card_issuing")
2109
    CardIssuing cardIssuing;
2110

2111
    @SerializedName("card_payments")
2112
    CardPayments cardPayments;
2113

2114
    @SerializedName("dashboard")
2115
    Dashboard dashboard;
2116

2117
    @SerializedName("invoices")
2118
    Invoices invoices;
2119

2120
    @SerializedName("payments")
2121
    Payments payments;
2122

2123
    @SerializedName("payouts")
2124
    Payouts payouts;
2125

2126
    @SerializedName("sepa_debit_payments")
2127
    SepaDebitPayments sepaDebitPayments;
2128

2129
    @SerializedName("tax_forms")
2130
    TaxForms taxForms;
2131

2132
    @SerializedName("treasury")
2133
    Treasury treasury;
2134

2135
    @Getter
2136
    @Setter
2137
    @EqualsAndHashCode(callSuper = false)
2138
    public static class BacsDebitPayments extends StripeObject {
1✔
2139
      /**
2140
       * The Bacs Direct Debit display name for this account. For payments made with Bacs Direct
2141
       * Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps
2142
       * display it as the name of the business. To use custom branding, set the Bacs Direct Debit
2143
       * Display Name during or right after creation. Custom branding incurs an additional monthly
2144
       * fee for the platform. The fee appears 5 business days after requesting Bacs. If you don't
2145
       * set the display name before requesting Bacs capability, it's automatically set as
2146
       * &quot;Stripe&quot; and the account is onboarded to Stripe branding, which is free.
2147
       */
2148
      @SerializedName("display_name")
2149
      String displayName;
2150

2151
      /**
2152
       * The Bacs Direct Debit Service user number for this account. For payments made with Bacs
2153
       * Direct Debit, this number is a unique identifier of the account with our banking partners.
2154
       */
2155
      @SerializedName("service_user_number")
2156
      String serviceUserNumber;
2157
    }
2158

2159
    @Getter
2160
    @Setter
2161
    @EqualsAndHashCode(callSuper = false)
2162
    public static class Branding extends StripeObject {
1✔
2163
      /**
2164
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) An icon for
2165
       * the account. Must be square and at least 128px x 128px.
2166
       */
2167
      @SerializedName("icon")
2168
      @Getter(lombok.AccessLevel.NONE)
2169
      @Setter(lombok.AccessLevel.NONE)
2170
      ExpandableField<File> icon;
2171

2172
      /**
2173
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) A logo for
2174
       * the account that will be used in Checkout instead of the icon and without the account's
2175
       * name next to it if provided. Must be at least 128px x 128px.
2176
       */
2177
      @SerializedName("logo")
2178
      @Getter(lombok.AccessLevel.NONE)
2179
      @Setter(lombok.AccessLevel.NONE)
2180
      ExpandableField<File> logo;
2181

2182
      /** A CSS hex color value representing the primary branding color for this account. */
2183
      @SerializedName("primary_color")
2184
      String primaryColor;
2185

2186
      /** A CSS hex color value representing the secondary branding color for this account. */
2187
      @SerializedName("secondary_color")
2188
      String secondaryColor;
2189

2190
      /** Get ID of expandable {@code icon} object. */
2191
      public String getIcon() {
2192
        return (this.icon != null) ? this.icon.getId() : null;
1✔
2193
      }
2194

2195
      public void setIcon(String id) {
2196
        this.icon = ApiResource.setExpandableFieldId(id, this.icon);
×
2197
      }
×
2198

2199
      /** Get expanded {@code icon}. */
2200
      public File getIconObject() {
2201
        return (this.icon != null) ? this.icon.getExpanded() : null;
1✔
2202
      }
2203

2204
      public void setIconObject(File expandableObject) {
2205
        this.icon = new ExpandableField<File>(expandableObject.getId(), expandableObject);
×
2206
      }
×
2207

2208
      /** Get ID of expandable {@code logo} object. */
2209
      public String getLogo() {
2210
        return (this.logo != null) ? this.logo.getId() : null;
1✔
2211
      }
2212

2213
      public void setLogo(String id) {
2214
        this.logo = ApiResource.setExpandableFieldId(id, this.logo);
×
2215
      }
×
2216

2217
      /** Get expanded {@code logo}. */
2218
      public File getLogoObject() {
2219
        return (this.logo != null) ? this.logo.getExpanded() : null;
1✔
2220
      }
2221

2222
      public void setLogoObject(File expandableObject) {
2223
        this.logo = new ExpandableField<File>(expandableObject.getId(), expandableObject);
×
2224
      }
×
2225
    }
2226

2227
    @Getter
2228
    @Setter
2229
    @EqualsAndHashCode(callSuper = false)
2230
    public static class Capital extends StripeObject {
×
2231
      /** Per-currency mapping of user-selected destination accounts used to pay out loans. */
2232
      @SerializedName("payout_destination")
2233
      Map<String, String> payoutDestination;
2234

2235
      /** Per-currency mapping of all destination accounts eligible to receive loan payouts. */
2236
      @SerializedName("payout_destination_selector")
2237
      Map<String, List<String>> payoutDestinationSelector;
2238
    }
2239

2240
    @Getter
2241
    @Setter
2242
    @EqualsAndHashCode(callSuper = false)
2243
    public static class CardIssuing extends StripeObject {
1✔
2244
      @SerializedName("tos_acceptance")
2245
      TosAcceptance tosAcceptance;
2246

2247
      @Getter
2248
      @Setter
2249
      @EqualsAndHashCode(callSuper = false)
2250
      public static class TosAcceptance extends StripeObject {
1✔
2251
        /**
2252
         * The Unix timestamp marking when the account representative accepted the service
2253
         * agreement.
2254
         */
2255
        @SerializedName("date")
2256
        Long date;
2257

2258
        /** The IP address from which the account representative accepted the service agreement. */
2259
        @SerializedName("ip")
2260
        String ip;
2261

2262
        /**
2263
         * The user agent of the browser from which the account representative accepted the service
2264
         * agreement.
2265
         */
2266
        @SerializedName("user_agent")
2267
        String userAgent;
2268
      }
2269
    }
2270

2271
    @Getter
2272
    @Setter
2273
    @EqualsAndHashCode(callSuper = false)
2274
    public static class CardPayments extends StripeObject {
1✔
2275
      @SerializedName("decline_on")
2276
      DeclineOn declineOn;
2277

2278
      /**
2279
       * The default text that appears on credit card statements when a charge is made. This field
2280
       * prefixes any dynamic {@code statement_descriptor} specified on the charge. {@code
2281
       * statement_descriptor_prefix} is useful for maximizing descriptor space for the dynamic
2282
       * portion.
2283
       */
2284
      @SerializedName("statement_descriptor_prefix")
2285
      String statementDescriptorPrefix;
2286

2287
      /**
2288
       * The Kana variation of the default text that appears on credit card statements when a charge
2289
       * is made (Japan only). This field prefixes any dynamic {@code
2290
       * statement_descriptor_suffix_kana} specified on the charge. {@code
2291
       * statement_descriptor_prefix_kana} is useful for maximizing descriptor space for the dynamic
2292
       * portion.
2293
       */
2294
      @SerializedName("statement_descriptor_prefix_kana")
2295
      String statementDescriptorPrefixKana;
2296

2297
      /**
2298
       * The Kanji variation of the default text that appears on credit card statements when a
2299
       * charge is made (Japan only). This field prefixes any dynamic {@code
2300
       * statement_descriptor_suffix_kanji} specified on the charge. {@code
2301
       * statement_descriptor_prefix_kanji} is useful for maximizing descriptor space for the
2302
       * dynamic portion.
2303
       */
2304
      @SerializedName("statement_descriptor_prefix_kanji")
2305
      String statementDescriptorPrefixKanji;
2306

2307
      @Getter
2308
      @Setter
2309
      @EqualsAndHashCode(callSuper = false)
2310
      public static class DeclineOn extends StripeObject {
1✔
2311
        /**
2312
         * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This
2313
         * setting only applies when a ZIP or postal code is provided and they fail bank
2314
         * verification.
2315
         */
2316
        @SerializedName("avs_failure")
2317
        Boolean avsFailure;
2318

2319
        /**
2320
         * Whether Stripe automatically declines charges with an incorrect CVC. This setting only
2321
         * applies when a CVC is provided and it fails bank verification.
2322
         */
2323
        @SerializedName("cvc_failure")
2324
        Boolean cvcFailure;
2325
      }
2326
    }
2327

2328
    @Getter
2329
    @Setter
2330
    @EqualsAndHashCode(callSuper = false)
2331
    public static class Dashboard extends StripeObject {
1✔
2332
      /**
2333
       * The display name for this account. This is used on the Stripe Dashboard to differentiate
2334
       * between accounts.
2335
       */
2336
      @SerializedName("display_name")
2337
      String displayName;
2338

2339
      /**
2340
       * The timezone used in the Stripe Dashboard for this account. A list of possible time zone
2341
       * values is maintained at the <a href="http://www.iana.org/time-zones">IANA Time Zone
2342
       * Database</a>.
2343
       */
2344
      @SerializedName("timezone")
2345
      String timezone;
2346
    }
2347

2348
    @Getter
2349
    @Setter
2350
    @EqualsAndHashCode(callSuper = false)
2351
    public static class Invoices extends StripeObject {
1✔
2352
      /**
2353
       * The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs
2354
       * get added when an invoice is finalized.
2355
       */
2356
      @SerializedName("default_account_tax_ids")
2357
      List<ExpandableField<TaxId>> defaultAccountTaxIds;
2358

2359
      /** Get IDs of expandable {@code defaultAccountTaxIds} object list. */
2360
      public List<String> getDefaultAccountTaxIds() {
2361
        return (this.defaultAccountTaxIds != null)
×
2362
            ? this.defaultAccountTaxIds.stream().map(x -> x.getId()).collect(Collectors.toList())
×
2363
            : null;
×
2364
      }
2365

2366
      public void setDefaultAccountTaxIds(List<String> ids) {
2367
        if (ids == null) {
×
2368
          this.defaultAccountTaxIds = null;
×
2369
          return;
×
2370
        }
2371
        if (this.defaultAccountTaxIds != null
×
2372
            && this.defaultAccountTaxIds.stream()
×
2373
                .map(x -> x.getId())
×
2374
                .collect(Collectors.toList())
×
2375
                .equals(ids)) {
×
2376
          // noop if the ids are equal to what are already present
2377
          return;
×
2378
        }
2379
        this.defaultAccountTaxIds =
×
2380
            (ids != null)
×
2381
                ? ids.stream()
×
2382
                    .map(id -> new ExpandableField<TaxId>(id, null))
×
2383
                    .collect(Collectors.toList())
×
2384
                : null;
×
2385
      }
×
2386

2387
      /** Get expanded {@code defaultAccountTaxIds}. */
2388
      public List<TaxId> getDefaultAccountTaxIdObjects() {
2389
        return (this.defaultAccountTaxIds != null)
×
2390
            ? this.defaultAccountTaxIds.stream()
×
2391
                .map(x -> x.getExpanded())
×
2392
                .collect(Collectors.toList())
×
2393
            : null;
×
2394
      }
2395

2396
      public void setDefaultAccountTaxIdObjects(List<TaxId> objs) {
2397
        this.defaultAccountTaxIds =
×
2398
            objs != null
×
2399
                ? objs.stream()
×
2400
                    .map(x -> new ExpandableField<TaxId>(x.getId(), x))
×
2401
                    .collect(Collectors.toList())
×
2402
                : null;
×
2403
      }
×
2404
    }
2405

2406
    @Getter
2407
    @Setter
2408
    @EqualsAndHashCode(callSuper = false)
2409
    public static class Payments extends StripeObject {
1✔
2410
      /**
2411
       * The default text that appears on credit card statements when a charge is made. This field
2412
       * prefixes any dynamic {@code statement_descriptor} specified on the charge.
2413
       */
2414
      @SerializedName("statement_descriptor")
2415
      String statementDescriptor;
2416

2417
      /**
2418
       * The Kana variation of {@code statement_descriptor} used for charges in Japan. Japanese
2419
       * statement descriptors have <a
2420
       * href="https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors">special
2421
       * requirements</a>.
2422
       */
2423
      @SerializedName("statement_descriptor_kana")
2424
      String statementDescriptorKana;
2425

2426
      /**
2427
       * The Kanji variation of {@code statement_descriptor} used for charges in Japan. Japanese
2428
       * statement descriptors have <a
2429
       * href="https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors">special
2430
       * requirements</a>.
2431
       */
2432
      @SerializedName("statement_descriptor_kanji")
2433
      String statementDescriptorKanji;
2434

2435
      /**
2436
       * The Kana variation of {@code statement_descriptor_prefix} used for card charges in Japan.
2437
       * Japanese statement descriptors have <a
2438
       * href="https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors">special
2439
       * requirements</a>.
2440
       */
2441
      @SerializedName("statement_descriptor_prefix_kana")
2442
      String statementDescriptorPrefixKana;
2443

2444
      /**
2445
       * The Kanji variation of {@code statement_descriptor_prefix} used for card charges in Japan.
2446
       * Japanese statement descriptors have <a
2447
       * href="https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors">special
2448
       * requirements</a>.
2449
       */
2450
      @SerializedName("statement_descriptor_prefix_kanji")
2451
      String statementDescriptorPrefixKanji;
2452
    }
2453

2454
    @Getter
2455
    @Setter
2456
    @EqualsAndHashCode(callSuper = false)
2457
    public static class Payouts extends StripeObject {
1✔
2458
      /**
2459
       * A Boolean indicating if Stripe should try to reclaim negative balances from an attached
2460
       * bank account. See <a href="https://stripe.com/connect/account-balances">Understanding
2461
       * Connect account balances</a> for details. The default value is {@code false} when <a
2462
       * href="https://stripe.com/api/accounts/object#account_object-controller-requirement_collection">controller.requirement_collection</a>
2463
       * is {@code application}, which includes Custom accounts, otherwise {@code true}.
2464
       */
2465
      @SerializedName("debit_negative_balances")
2466
      Boolean debitNegativeBalances;
2467

2468
      @SerializedName("schedule")
2469
      Schedule schedule;
2470

2471
      /**
2472
       * The text that appears on the bank account statement for payouts. If not set, this defaults
2473
       * to the platform's bank descriptor as set in the Dashboard.
2474
       */
2475
      @SerializedName("statement_descriptor")
2476
      String statementDescriptor;
2477

2478
      @Getter
2479
      @Setter
2480
      @EqualsAndHashCode(callSuper = false)
2481
      public static class Schedule extends StripeObject {
1✔
2482
        /** The number of days charges for the account will be held before being paid out. */
2483
        @SerializedName("delay_days")
2484
        Long delayDays;
2485

2486
        /**
2487
         * How frequently funds will be paid out. One of {@code manual} (payouts only created via
2488
         * API call), {@code daily}, {@code weekly}, or {@code monthly}.
2489
         */
2490
        @SerializedName("interval")
2491
        String interval;
2492

2493
        /**
2494
         * The day of the month funds will be paid out. Only shown if {@code interval} is monthly.
2495
         * Payouts scheduled between the 29th and 31st of the month are sent on the last day of
2496
         * shorter months.
2497
         */
2498
        @SerializedName("monthly_anchor")
2499
        Long monthlyAnchor;
2500

2501
        /**
2502
         * The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only
2503
         * shown if {@code interval} is weekly.
2504
         */
2505
        @SerializedName("weekly_anchor")
2506
        String weeklyAnchor;
2507
      }
2508
    }
2509

2510
    @Getter
2511
    @Setter
2512
    @EqualsAndHashCode(callSuper = false)
2513
    public static class SepaDebitPayments extends StripeObject {
1✔
2514
      /** SEPA creditor identifier that identifies the company making the payment. */
2515
      @SerializedName("creditor_id")
2516
      String creditorId;
2517
    }
2518

2519
    @Getter
2520
    @Setter
2521
    @EqualsAndHashCode(callSuper = false)
2522
    public static class TaxForms extends StripeObject {
×
2523
      /** Whether the account opted out of receiving their tax forms by postal delivery. */
2524
      @SerializedName("consented_to_paperless_delivery")
2525
      Boolean consentedToPaperlessDelivery;
2526
    }
2527

2528
    @Getter
2529
    @Setter
2530
    @EqualsAndHashCode(callSuper = false)
2531
    public static class Treasury extends StripeObject {
×
2532
      @SerializedName("tos_acceptance")
2533
      TosAcceptance tosAcceptance;
2534

2535
      @Getter
2536
      @Setter
2537
      @EqualsAndHashCode(callSuper = false)
2538
      public static class TosAcceptance extends StripeObject {
×
2539
        /**
2540
         * The Unix timestamp marking when the account representative accepted the service
2541
         * agreement.
2542
         */
2543
        @SerializedName("date")
2544
        Long date;
2545

2546
        /** The IP address from which the account representative accepted the service agreement. */
2547
        @SerializedName("ip")
2548
        String ip;
2549

2550
        /**
2551
         * The user agent of the browser from which the account representative accepted the service
2552
         * agreement.
2553
         */
2554
        @SerializedName("user_agent")
2555
        String userAgent;
2556
      }
2557
    }
2558
  }
2559

2560
  @Getter
2561
  @Setter
2562
  @EqualsAndHashCode(callSuper = false)
2563
  public static class TosAcceptance extends StripeObject {
1✔
2564
    /**
2565
     * The Unix timestamp marking when the account representative accepted their service agreement.
2566
     */
2567
    @SerializedName("date")
2568
    Long date;
2569

2570
    /** The IP address from which the account representative accepted their service agreement. */
2571
    @SerializedName("ip")
2572
    String ip;
2573

2574
    /** The user's service agreement type. */
2575
    @SerializedName("service_agreement")
2576
    String serviceAgreement;
2577

2578
    /**
2579
     * The user agent of the browser from which the account representative accepted their service
2580
     * agreement.
2581
     */
2582
    @SerializedName("user_agent")
2583
    String userAgent;
2584
  }
2585

2586
  @Override
2587
  public void setResponseGetter(StripeResponseGetter responseGetter) {
2588
    super.setResponseGetter(responseGetter);
1✔
2589
    trySetResponseGetter(businessProfile, responseGetter);
1✔
2590
    trySetResponseGetter(capabilities, responseGetter);
1✔
2591
    trySetResponseGetter(company, responseGetter);
1✔
2592
    trySetResponseGetter(controller, responseGetter);
1✔
2593
    trySetResponseGetter(externalAccounts, responseGetter);
1✔
2594
    trySetResponseGetter(futureRequirements, responseGetter);
1✔
2595
    trySetResponseGetter(groups, responseGetter);
1✔
2596
    trySetResponseGetter(individual, responseGetter);
1✔
2597
    trySetResponseGetter(requirements, responseGetter);
1✔
2598
    trySetResponseGetter(riskControls, responseGetter);
1✔
2599
    trySetResponseGetter(settings, responseGetter);
1✔
2600
    trySetResponseGetter(tosAcceptance, responseGetter);
1✔
2601
  }
1✔
2602
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc