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

stripe / stripe-java / #16517

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

push

github

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

Update generated code for beta

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

91 existing lines in 27 files now uncovered.

18753 of 147196 relevant lines covered (12.74%)

0.13 hits per line

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

0.0
/src/main/java/com/stripe/param/AccountSessionCreateParams.java
1
// File generated from our OpenAPI spec
2
package com.stripe.param;
3

4
import com.google.gson.annotations.SerializedName;
5
import com.stripe.net.ApiRequestParams;
6
import com.stripe.param.common.EmptyParam;
7
import java.util.ArrayList;
8
import java.util.HashMap;
9
import java.util.List;
10
import java.util.Map;
11
import lombok.Getter;
12

13
@Getter
14
public class AccountSessionCreateParams extends ApiRequestParams {
15
  /** <strong>Required.</strong> The identifier of the account to create an Account Session for. */
16
  @SerializedName("account")
17
  String account;
18

19
  /**
20
   * <strong>Required.</strong> Each key of the dictionary represents an embedded component, and
21
   * each embedded component maps to its configuration (e.g. whether it has been enabled or not).
22
   */
23
  @SerializedName("components")
24
  Components components;
25

26
  /** Specifies which fields in the response should be expanded. */
27
  @SerializedName("expand")
28
  List<String> expand;
29

30
  /**
31
   * Map of extra parameters for custom features not available in this client library. The content
32
   * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
33
   * key/value pair is serialized as if the key is a root-level field (serialized) name in this
34
   * param object. Effectively, this map is flattened to its parent instance.
35
   */
36
  @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
37
  Map<String, Object> extraParams;
38

39
  private AccountSessionCreateParams(
40
      String account, Components components, List<String> expand, Map<String, Object> extraParams) {
×
41
    this.account = account;
×
42
    this.components = components;
×
43
    this.expand = expand;
×
44
    this.extraParams = extraParams;
×
45
  }
×
46

47
  public static Builder builder() {
48
    return new Builder();
×
49
  }
50

51
  public static class Builder {
×
52
    private String account;
53

54
    private Components components;
55

56
    private List<String> expand;
57

58
    private Map<String, Object> extraParams;
59

60
    /** Finalize and obtain parameter instance from this builder. */
61
    public AccountSessionCreateParams build() {
62
      return new AccountSessionCreateParams(
×
63
          this.account, this.components, this.expand, this.extraParams);
64
    }
65

66
    /**
67
     * <strong>Required.</strong> The identifier of the account to create an Account Session for.
68
     */
69
    public Builder setAccount(String account) {
70
      this.account = account;
×
71
      return this;
×
72
    }
73

74
    /**
75
     * <strong>Required.</strong> Each key of the dictionary represents an embedded component, and
76
     * each embedded component maps to its configuration (e.g. whether it has been enabled or not).
77
     */
78
    public Builder setComponents(AccountSessionCreateParams.Components components) {
79
      this.components = components;
×
80
      return this;
×
81
    }
82

83
    /**
84
     * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and
85
     * subsequent calls adds additional elements to the original list. See {@link
86
     * AccountSessionCreateParams#expand} for the field documentation.
87
     */
88
    public Builder addExpand(String element) {
89
      if (this.expand == null) {
×
90
        this.expand = new ArrayList<>();
×
91
      }
92
      this.expand.add(element);
×
93
      return this;
×
94
    }
95

96
    /**
97
     * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and
98
     * subsequent calls adds additional elements to the original list. See {@link
99
     * AccountSessionCreateParams#expand} for the field documentation.
100
     */
101
    public Builder addAllExpand(List<String> elements) {
102
      if (this.expand == null) {
×
103
        this.expand = new ArrayList<>();
×
104
      }
105
      this.expand.addAll(elements);
×
106
      return this;
×
107
    }
108

109
    /**
110
     * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
111
     * call, and subsequent calls add additional key/value pairs to the original map. See {@link
112
     * AccountSessionCreateParams#extraParams} for the field documentation.
113
     */
114
    public Builder putExtraParam(String key, Object value) {
115
      if (this.extraParams == null) {
×
116
        this.extraParams = new HashMap<>();
×
117
      }
118
      this.extraParams.put(key, value);
×
119
      return this;
×
120
    }
121

122
    /**
123
     * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
124
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
125
     * See {@link AccountSessionCreateParams#extraParams} for the field documentation.
126
     */
127
    public Builder putAllExtraParam(Map<String, Object> map) {
128
      if (this.extraParams == null) {
×
129
        this.extraParams = new HashMap<>();
×
130
      }
131
      this.extraParams.putAll(map);
×
132
      return this;
×
133
    }
134
  }
135

136
  @Getter
137
  public static class Components {
138
    /** Configuration for the account management embedded component. */
139
    @SerializedName("account_management")
140
    AccountManagement accountManagement;
141

142
    /** Configuration for the account onboarding embedded component. */
143
    @SerializedName("account_onboarding")
144
    AccountOnboarding accountOnboarding;
145

146
    /** Configuration for the app install component. */
147
    @SerializedName("app_install")
148
    AppInstall appInstall;
149

150
    /** Configuration for the app viewport component. */
151
    @SerializedName("app_viewport")
152
    AppViewport appViewport;
153

154
    /** Configuration for the balances embedded component. */
155
    @SerializedName("balances")
156
    Balances balances;
157

158
    /** Configuration for the capital financing embedded component. */
159
    @SerializedName("capital_financing")
160
    CapitalFinancing capitalFinancing;
161

162
    /** Configuration for the capital financing application embedded component. */
163
    @SerializedName("capital_financing_application")
164
    CapitalFinancingApplication capitalFinancingApplication;
165

166
    /** Configuration for the capital financing promotion embedded component. */
167
    @SerializedName("capital_financing_promotion")
168
    CapitalFinancingPromotion capitalFinancingPromotion;
169

170
    /** Configuration for the capital overview embedded component. */
171
    @SerializedName("capital_overview")
172
    CapitalOverview capitalOverview;
173

174
    /** Configuration for the documents embedded component. */
175
    @SerializedName("documents")
176
    Documents documents;
177

178
    /**
179
     * Map of extra parameters for custom features not available in this client library. The content
180
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
181
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
182
     * param object. Effectively, this map is flattened to its parent instance.
183
     */
184
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
185
    Map<String, Object> extraParams;
186

187
    /** Configuration for the financial account component. */
188
    @SerializedName("financial_account")
189
    FinancialAccount financialAccount;
190

191
    /** Configuration for the financial account transactions component. */
192
    @SerializedName("financial_account_transactions")
193
    FinancialAccountTransactions financialAccountTransactions;
194

195
    /** Configuration for the issuing card component. */
196
    @SerializedName("issuing_card")
197
    IssuingCard issuingCard;
198

199
    /** Configuration for the issuing cards list component. */
200
    @SerializedName("issuing_cards_list")
201
    IssuingCardsList issuingCardsList;
202

203
    /** Configuration for the notification banner embedded component. */
204
    @SerializedName("notification_banner")
205
    NotificationBanner notificationBanner;
206

207
    /** Configuration for the payment details embedded component. */
208
    @SerializedName("payment_details")
209
    PaymentDetails paymentDetails;
210

211
    /** Configuration for the payment method settings embedded component. */
212
    @SerializedName("payment_method_settings")
213
    PaymentMethodSettings paymentMethodSettings;
214

215
    /** Configuration for the payments embedded component. */
216
    @SerializedName("payments")
217
    Payments payments;
218

219
    /** Configuration for the payouts embedded component. */
220
    @SerializedName("payouts")
221
    Payouts payouts;
222

223
    /** Configuration for the payouts list embedded component. */
224
    @SerializedName("payouts_list")
225
    PayoutsList payoutsList;
226

227
    @SerializedName("recipients")
228
    Recipients recipients;
229

230
    /** Configuration for the reporting chart embedded component. */
231
    @SerializedName("reporting_chart")
232
    ReportingChart reportingChart;
233

234
    /** Configuration for the tax registrations embedded component. */
235
    @SerializedName("tax_registrations")
236
    TaxRegistrations taxRegistrations;
237

238
    /** Configuration for the tax settings embedded component. */
239
    @SerializedName("tax_settings")
240
    TaxSettings taxSettings;
241

242
    private Components(
243
        AccountManagement accountManagement,
244
        AccountOnboarding accountOnboarding,
245
        AppInstall appInstall,
246
        AppViewport appViewport,
247
        Balances balances,
248
        CapitalFinancing capitalFinancing,
249
        CapitalFinancingApplication capitalFinancingApplication,
250
        CapitalFinancingPromotion capitalFinancingPromotion,
251
        CapitalOverview capitalOverview,
252
        Documents documents,
253
        Map<String, Object> extraParams,
254
        FinancialAccount financialAccount,
255
        FinancialAccountTransactions financialAccountTransactions,
256
        IssuingCard issuingCard,
257
        IssuingCardsList issuingCardsList,
258
        NotificationBanner notificationBanner,
259
        PaymentDetails paymentDetails,
260
        PaymentMethodSettings paymentMethodSettings,
261
        Payments payments,
262
        Payouts payouts,
263
        PayoutsList payoutsList,
264
        Recipients recipients,
265
        ReportingChart reportingChart,
266
        TaxRegistrations taxRegistrations,
267
        TaxSettings taxSettings) {
×
268
      this.accountManagement = accountManagement;
×
269
      this.accountOnboarding = accountOnboarding;
×
270
      this.appInstall = appInstall;
×
271
      this.appViewport = appViewport;
×
272
      this.balances = balances;
×
273
      this.capitalFinancing = capitalFinancing;
×
274
      this.capitalFinancingApplication = capitalFinancingApplication;
×
275
      this.capitalFinancingPromotion = capitalFinancingPromotion;
×
276
      this.capitalOverview = capitalOverview;
×
277
      this.documents = documents;
×
278
      this.extraParams = extraParams;
×
279
      this.financialAccount = financialAccount;
×
280
      this.financialAccountTransactions = financialAccountTransactions;
×
281
      this.issuingCard = issuingCard;
×
282
      this.issuingCardsList = issuingCardsList;
×
283
      this.notificationBanner = notificationBanner;
×
284
      this.paymentDetails = paymentDetails;
×
285
      this.paymentMethodSettings = paymentMethodSettings;
×
286
      this.payments = payments;
×
287
      this.payouts = payouts;
×
288
      this.payoutsList = payoutsList;
×
289
      this.recipients = recipients;
×
290
      this.reportingChart = reportingChart;
×
291
      this.taxRegistrations = taxRegistrations;
×
292
      this.taxSettings = taxSettings;
×
293
    }
×
294

295
    public static Builder builder() {
296
      return new Builder();
×
297
    }
298

299
    public static class Builder {
×
300
      private AccountManagement accountManagement;
301

302
      private AccountOnboarding accountOnboarding;
303

304
      private AppInstall appInstall;
305

306
      private AppViewport appViewport;
307

308
      private Balances balances;
309

310
      private CapitalFinancing capitalFinancing;
311

312
      private CapitalFinancingApplication capitalFinancingApplication;
313

314
      private CapitalFinancingPromotion capitalFinancingPromotion;
315

316
      private CapitalOverview capitalOverview;
317

318
      private Documents documents;
319

320
      private Map<String, Object> extraParams;
321

322
      private FinancialAccount financialAccount;
323

324
      private FinancialAccountTransactions financialAccountTransactions;
325

326
      private IssuingCard issuingCard;
327

328
      private IssuingCardsList issuingCardsList;
329

330
      private NotificationBanner notificationBanner;
331

332
      private PaymentDetails paymentDetails;
333

334
      private PaymentMethodSettings paymentMethodSettings;
335

336
      private Payments payments;
337

338
      private Payouts payouts;
339

340
      private PayoutsList payoutsList;
341

342
      private Recipients recipients;
343

344
      private ReportingChart reportingChart;
345

346
      private TaxRegistrations taxRegistrations;
347

348
      private TaxSettings taxSettings;
349

350
      /** Finalize and obtain parameter instance from this builder. */
351
      public AccountSessionCreateParams.Components build() {
352
        return new AccountSessionCreateParams.Components(
×
353
            this.accountManagement,
354
            this.accountOnboarding,
355
            this.appInstall,
356
            this.appViewport,
357
            this.balances,
358
            this.capitalFinancing,
359
            this.capitalFinancingApplication,
360
            this.capitalFinancingPromotion,
361
            this.capitalOverview,
362
            this.documents,
363
            this.extraParams,
364
            this.financialAccount,
365
            this.financialAccountTransactions,
366
            this.issuingCard,
367
            this.issuingCardsList,
368
            this.notificationBanner,
369
            this.paymentDetails,
370
            this.paymentMethodSettings,
371
            this.payments,
372
            this.payouts,
373
            this.payoutsList,
374
            this.recipients,
375
            this.reportingChart,
376
            this.taxRegistrations,
377
            this.taxSettings);
378
      }
379

380
      /** Configuration for the account management embedded component. */
381
      public Builder setAccountManagement(
382
          AccountSessionCreateParams.Components.AccountManagement accountManagement) {
383
        this.accountManagement = accountManagement;
×
384
        return this;
×
385
      }
386

387
      /** Configuration for the account onboarding embedded component. */
388
      public Builder setAccountOnboarding(
389
          AccountSessionCreateParams.Components.AccountOnboarding accountOnboarding) {
390
        this.accountOnboarding = accountOnboarding;
×
391
        return this;
×
392
      }
393

394
      /** Configuration for the app install component. */
395
      public Builder setAppInstall(AccountSessionCreateParams.Components.AppInstall appInstall) {
396
        this.appInstall = appInstall;
×
397
        return this;
×
398
      }
399

400
      /** Configuration for the app viewport component. */
401
      public Builder setAppViewport(AccountSessionCreateParams.Components.AppViewport appViewport) {
402
        this.appViewport = appViewport;
×
403
        return this;
×
404
      }
405

406
      /** Configuration for the balances embedded component. */
407
      public Builder setBalances(AccountSessionCreateParams.Components.Balances balances) {
408
        this.balances = balances;
×
409
        return this;
×
410
      }
411

412
      /** Configuration for the capital financing embedded component. */
413
      public Builder setCapitalFinancing(
414
          AccountSessionCreateParams.Components.CapitalFinancing capitalFinancing) {
415
        this.capitalFinancing = capitalFinancing;
×
416
        return this;
×
417
      }
418

419
      /** Configuration for the capital financing application embedded component. */
420
      public Builder setCapitalFinancingApplication(
421
          AccountSessionCreateParams.Components.CapitalFinancingApplication
422
              capitalFinancingApplication) {
423
        this.capitalFinancingApplication = capitalFinancingApplication;
×
424
        return this;
×
425
      }
426

427
      /** Configuration for the capital financing promotion embedded component. */
428
      public Builder setCapitalFinancingPromotion(
429
          AccountSessionCreateParams.Components.CapitalFinancingPromotion
430
              capitalFinancingPromotion) {
431
        this.capitalFinancingPromotion = capitalFinancingPromotion;
×
432
        return this;
×
433
      }
434

435
      /** Configuration for the capital overview embedded component. */
436
      public Builder setCapitalOverview(
437
          AccountSessionCreateParams.Components.CapitalOverview capitalOverview) {
438
        this.capitalOverview = capitalOverview;
×
439
        return this;
×
440
      }
441

442
      /** Configuration for the documents embedded component. */
443
      public Builder setDocuments(AccountSessionCreateParams.Components.Documents documents) {
444
        this.documents = documents;
×
445
        return this;
×
446
      }
447

448
      /**
449
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
450
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
451
       * AccountSessionCreateParams.Components#extraParams} for the field documentation.
452
       */
453
      public Builder putExtraParam(String key, Object value) {
454
        if (this.extraParams == null) {
×
455
          this.extraParams = new HashMap<>();
×
456
        }
457
        this.extraParams.put(key, value);
×
458
        return this;
×
459
      }
460

461
      /**
462
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
463
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
464
       * See {@link AccountSessionCreateParams.Components#extraParams} for the field documentation.
465
       */
466
      public Builder putAllExtraParam(Map<String, Object> map) {
467
        if (this.extraParams == null) {
×
468
          this.extraParams = new HashMap<>();
×
469
        }
470
        this.extraParams.putAll(map);
×
471
        return this;
×
472
      }
473

474
      /** Configuration for the financial account component. */
475
      public Builder setFinancialAccount(
476
          AccountSessionCreateParams.Components.FinancialAccount financialAccount) {
477
        this.financialAccount = financialAccount;
×
478
        return this;
×
479
      }
480

481
      /** Configuration for the financial account transactions component. */
482
      public Builder setFinancialAccountTransactions(
483
          AccountSessionCreateParams.Components.FinancialAccountTransactions
484
              financialAccountTransactions) {
485
        this.financialAccountTransactions = financialAccountTransactions;
×
486
        return this;
×
487
      }
488

489
      /** Configuration for the issuing card component. */
490
      public Builder setIssuingCard(AccountSessionCreateParams.Components.IssuingCard issuingCard) {
491
        this.issuingCard = issuingCard;
×
492
        return this;
×
493
      }
494

495
      /** Configuration for the issuing cards list component. */
496
      public Builder setIssuingCardsList(
497
          AccountSessionCreateParams.Components.IssuingCardsList issuingCardsList) {
498
        this.issuingCardsList = issuingCardsList;
×
499
        return this;
×
500
      }
501

502
      /** Configuration for the notification banner embedded component. */
503
      public Builder setNotificationBanner(
504
          AccountSessionCreateParams.Components.NotificationBanner notificationBanner) {
505
        this.notificationBanner = notificationBanner;
×
506
        return this;
×
507
      }
508

509
      /** Configuration for the payment details embedded component. */
510
      public Builder setPaymentDetails(
511
          AccountSessionCreateParams.Components.PaymentDetails paymentDetails) {
512
        this.paymentDetails = paymentDetails;
×
513
        return this;
×
514
      }
515

516
      /** Configuration for the payment method settings embedded component. */
517
      public Builder setPaymentMethodSettings(
518
          AccountSessionCreateParams.Components.PaymentMethodSettings paymentMethodSettings) {
519
        this.paymentMethodSettings = paymentMethodSettings;
×
520
        return this;
×
521
      }
522

523
      /** Configuration for the payments embedded component. */
524
      public Builder setPayments(AccountSessionCreateParams.Components.Payments payments) {
525
        this.payments = payments;
×
526
        return this;
×
527
      }
528

529
      /** Configuration for the payouts embedded component. */
530
      public Builder setPayouts(AccountSessionCreateParams.Components.Payouts payouts) {
531
        this.payouts = payouts;
×
532
        return this;
×
533
      }
534

535
      /** Configuration for the payouts list embedded component. */
536
      public Builder setPayoutsList(AccountSessionCreateParams.Components.PayoutsList payoutsList) {
537
        this.payoutsList = payoutsList;
×
538
        return this;
×
539
      }
540

541
      public Builder setRecipients(AccountSessionCreateParams.Components.Recipients recipients) {
542
        this.recipients = recipients;
×
543
        return this;
×
544
      }
545

546
      /** Configuration for the reporting chart embedded component. */
547
      public Builder setReportingChart(
548
          AccountSessionCreateParams.Components.ReportingChart reportingChart) {
549
        this.reportingChart = reportingChart;
×
550
        return this;
×
551
      }
552

553
      /** Configuration for the tax registrations embedded component. */
554
      public Builder setTaxRegistrations(
555
          AccountSessionCreateParams.Components.TaxRegistrations taxRegistrations) {
556
        this.taxRegistrations = taxRegistrations;
×
557
        return this;
×
558
      }
559

560
      /** Configuration for the tax settings embedded component. */
561
      public Builder setTaxSettings(AccountSessionCreateParams.Components.TaxSettings taxSettings) {
562
        this.taxSettings = taxSettings;
×
563
        return this;
×
564
      }
565
    }
566

567
    @Getter
568
    public static class AccountManagement {
569
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
570
      @SerializedName("enabled")
571
      Boolean enabled;
572

573
      /**
574
       * Map of extra parameters for custom features not available in this client library. The
575
       * content in this map is not serialized under this field's {@code @SerializedName} value.
576
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
577
       * name in this param object. Effectively, this map is flattened to its parent instance.
578
       */
579
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
580
      Map<String, Object> extraParams;
581

582
      /** The list of features enabled in the embedded component. */
583
      @SerializedName("features")
584
      Features features;
585

586
      private AccountManagement(
587
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
588
        this.enabled = enabled;
×
589
        this.extraParams = extraParams;
×
590
        this.features = features;
×
591
      }
×
592

593
      public static Builder builder() {
594
        return new Builder();
×
595
      }
596

597
      public static class Builder {
×
598
        private Boolean enabled;
599

600
        private Map<String, Object> extraParams;
601

602
        private Features features;
603

604
        /** Finalize and obtain parameter instance from this builder. */
605
        public AccountSessionCreateParams.Components.AccountManagement build() {
606
          return new AccountSessionCreateParams.Components.AccountManagement(
×
607
              this.enabled, this.extraParams, this.features);
608
        }
609

610
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
611
        public Builder setEnabled(Boolean enabled) {
612
          this.enabled = enabled;
×
613
          return this;
×
614
        }
615

616
        /**
617
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
618
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
619
         * map. See {@link AccountSessionCreateParams.Components.AccountManagement#extraParams} for
620
         * the field documentation.
621
         */
622
        public Builder putExtraParam(String key, Object value) {
623
          if (this.extraParams == null) {
×
624
            this.extraParams = new HashMap<>();
×
625
          }
626
          this.extraParams.put(key, value);
×
627
          return this;
×
628
        }
629

630
        /**
631
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
632
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
633
         * map. See {@link AccountSessionCreateParams.Components.AccountManagement#extraParams} for
634
         * the field documentation.
635
         */
636
        public Builder putAllExtraParam(Map<String, Object> map) {
637
          if (this.extraParams == null) {
×
638
            this.extraParams = new HashMap<>();
×
639
          }
640
          this.extraParams.putAll(map);
×
641
          return this;
×
642
        }
643

644
        /** The list of features enabled in the embedded component. */
645
        public Builder setFeatures(
646
            AccountSessionCreateParams.Components.AccountManagement.Features features) {
647
          this.features = features;
×
648
          return this;
×
649
        }
650
      }
651

652
      @Getter
653
      public static class Features {
654
        /**
655
         * Disables Stripe user authentication for this embedded component. This feature can only be
656
         * false for accounts where you’re responsible for collecting updated information when
657
         * requirements are due or change, like custom accounts. The default value for this feature
658
         * is {@code false} when {@code external_account_collection} is enabled and true otherwise.
659
         */
660
        @SerializedName("disable_stripe_user_authentication")
661
        Boolean disableStripeUserAuthentication;
662

663
        /**
664
         * Whether to allow platforms to control bank account collection for their connected
665
         * accounts. This feature can only be false for accounts where you’re responsible for
666
         * collecting updated information when requirements are due or change, like custom accounts.
667
         * Otherwise, bank account collection is determined by compliance requirements. The default
668
         * value for this feature is {@code true}.
669
         */
670
        @SerializedName("external_account_collection")
671
        Boolean externalAccountCollection;
672

673
        /**
674
         * Map of extra parameters for custom features not available in this client library. The
675
         * content in this map is not serialized under this field's {@code @SerializedName} value.
676
         * Instead, each key/value pair is serialized as if the key is a root-level field
677
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
678
         * instance.
679
         */
680
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
681
        Map<String, Object> extraParams;
682

683
        private Features(
684
            Boolean disableStripeUserAuthentication,
685
            Boolean externalAccountCollection,
NEW
686
            Map<String, Object> extraParams) {
×
NEW
687
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
688
          this.externalAccountCollection = externalAccountCollection;
×
689
          this.extraParams = extraParams;
×
690
        }
×
691

692
        public static Builder builder() {
693
          return new Builder();
×
694
        }
695

696
        public static class Builder {
×
697
          private Boolean disableStripeUserAuthentication;
698

699
          private Boolean externalAccountCollection;
700

701
          private Map<String, Object> extraParams;
702

703
          /** Finalize and obtain parameter instance from this builder. */
704
          public AccountSessionCreateParams.Components.AccountManagement.Features build() {
705
            return new AccountSessionCreateParams.Components.AccountManagement.Features(
×
706
                this.disableStripeUserAuthentication,
707
                this.externalAccountCollection,
708
                this.extraParams);
709
          }
710

711
          /**
712
           * Disables Stripe user authentication for this embedded component. This feature can only
713
           * be false for accounts where you’re responsible for collecting updated information when
714
           * requirements are due or change, like custom accounts. The default value for this
715
           * feature is {@code false} when {@code external_account_collection} is enabled and true
716
           * otherwise.
717
           */
718
          public Builder setDisableStripeUserAuthentication(
719
              Boolean disableStripeUserAuthentication) {
NEW
720
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
721
            return this;
×
722
          }
723

724
          /**
725
           * Whether to allow platforms to control bank account collection for their connected
726
           * accounts. This feature can only be false for accounts where you’re responsible for
727
           * collecting updated information when requirements are due or change, like custom
728
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
729
           * The default value for this feature is {@code true}.
730
           */
731
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
732
            this.externalAccountCollection = externalAccountCollection;
×
733
            return this;
×
734
          }
735

736
          /**
737
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
738
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
739
           * map. See {@link
740
           * AccountSessionCreateParams.Components.AccountManagement.Features#extraParams} for the
741
           * field documentation.
742
           */
743
          public Builder putExtraParam(String key, Object value) {
744
            if (this.extraParams == null) {
×
745
              this.extraParams = new HashMap<>();
×
746
            }
747
            this.extraParams.put(key, value);
×
748
            return this;
×
749
          }
750

751
          /**
752
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
753
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
754
           * map. See {@link
755
           * AccountSessionCreateParams.Components.AccountManagement.Features#extraParams} for the
756
           * field documentation.
757
           */
758
          public Builder putAllExtraParam(Map<String, Object> map) {
759
            if (this.extraParams == null) {
×
760
              this.extraParams = new HashMap<>();
×
761
            }
762
            this.extraParams.putAll(map);
×
763
            return this;
×
764
          }
765
        }
766
      }
767
    }
768

769
    @Getter
770
    public static class AccountOnboarding {
771
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
772
      @SerializedName("enabled")
773
      Boolean enabled;
774

775
      /**
776
       * Map of extra parameters for custom features not available in this client library. The
777
       * content in this map is not serialized under this field's {@code @SerializedName} value.
778
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
779
       * name in this param object. Effectively, this map is flattened to its parent instance.
780
       */
781
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
782
      Map<String, Object> extraParams;
783

784
      /** The list of features enabled in the embedded component. */
785
      @SerializedName("features")
786
      Features features;
787

788
      private AccountOnboarding(
789
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
790
        this.enabled = enabled;
×
791
        this.extraParams = extraParams;
×
792
        this.features = features;
×
793
      }
×
794

795
      public static Builder builder() {
796
        return new Builder();
×
797
      }
798

799
      public static class Builder {
×
800
        private Boolean enabled;
801

802
        private Map<String, Object> extraParams;
803

804
        private Features features;
805

806
        /** Finalize and obtain parameter instance from this builder. */
807
        public AccountSessionCreateParams.Components.AccountOnboarding build() {
808
          return new AccountSessionCreateParams.Components.AccountOnboarding(
×
809
              this.enabled, this.extraParams, this.features);
810
        }
811

812
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
813
        public Builder setEnabled(Boolean enabled) {
814
          this.enabled = enabled;
×
815
          return this;
×
816
        }
817

818
        /**
819
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
820
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
821
         * map. See {@link AccountSessionCreateParams.Components.AccountOnboarding#extraParams} for
822
         * the field documentation.
823
         */
824
        public Builder putExtraParam(String key, Object value) {
825
          if (this.extraParams == null) {
×
826
            this.extraParams = new HashMap<>();
×
827
          }
828
          this.extraParams.put(key, value);
×
829
          return this;
×
830
        }
831

832
        /**
833
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
834
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
835
         * map. See {@link AccountSessionCreateParams.Components.AccountOnboarding#extraParams} for
836
         * the field documentation.
837
         */
838
        public Builder putAllExtraParam(Map<String, Object> map) {
839
          if (this.extraParams == null) {
×
840
            this.extraParams = new HashMap<>();
×
841
          }
842
          this.extraParams.putAll(map);
×
843
          return this;
×
844
        }
845

846
        /** The list of features enabled in the embedded component. */
847
        public Builder setFeatures(
848
            AccountSessionCreateParams.Components.AccountOnboarding.Features features) {
849
          this.features = features;
×
850
          return this;
×
851
        }
852
      }
853

854
      @Getter
855
      public static class Features {
856
        /**
857
         * Disables Stripe user authentication for this embedded component. This feature can only be
858
         * false for accounts where you’re responsible for collecting updated information when
859
         * requirements are due or change, like custom accounts. The default value for this feature
860
         * is {@code false} when {@code external_account_collection} is enabled and true otherwise.
861
         */
862
        @SerializedName("disable_stripe_user_authentication")
863
        Boolean disableStripeUserAuthentication;
864

865
        /**
866
         * Whether to allow platforms to control bank account collection for their connected
867
         * accounts. This feature can only be false for accounts where you’re responsible for
868
         * collecting updated information when requirements are due or change, like custom accounts.
869
         * Otherwise, bank account collection is determined by compliance requirements. The default
870
         * value for this feature is {@code true}.
871
         */
872
        @SerializedName("external_account_collection")
873
        Boolean externalAccountCollection;
874

875
        /**
876
         * Map of extra parameters for custom features not available in this client library. The
877
         * content in this map is not serialized under this field's {@code @SerializedName} value.
878
         * Instead, each key/value pair is serialized as if the key is a root-level field
879
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
880
         * instance.
881
         */
882
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
883
        Map<String, Object> extraParams;
884

885
        private Features(
886
            Boolean disableStripeUserAuthentication,
887
            Boolean externalAccountCollection,
NEW
888
            Map<String, Object> extraParams) {
×
NEW
889
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
890
          this.externalAccountCollection = externalAccountCollection;
×
891
          this.extraParams = extraParams;
×
892
        }
×
893

894
        public static Builder builder() {
895
          return new Builder();
×
896
        }
897

898
        public static class Builder {
×
899
          private Boolean disableStripeUserAuthentication;
900

901
          private Boolean externalAccountCollection;
902

903
          private Map<String, Object> extraParams;
904

905
          /** Finalize and obtain parameter instance from this builder. */
906
          public AccountSessionCreateParams.Components.AccountOnboarding.Features build() {
907
            return new AccountSessionCreateParams.Components.AccountOnboarding.Features(
×
908
                this.disableStripeUserAuthentication,
909
                this.externalAccountCollection,
910
                this.extraParams);
911
          }
912

913
          /**
914
           * Disables Stripe user authentication for this embedded component. This feature can only
915
           * be false for accounts where you’re responsible for collecting updated information when
916
           * requirements are due or change, like custom accounts. The default value for this
917
           * feature is {@code false} when {@code external_account_collection} is enabled and true
918
           * otherwise.
919
           */
920
          public Builder setDisableStripeUserAuthentication(
921
              Boolean disableStripeUserAuthentication) {
NEW
922
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
923
            return this;
×
924
          }
925

926
          /**
927
           * Whether to allow platforms to control bank account collection for their connected
928
           * accounts. This feature can only be false for accounts where you’re responsible for
929
           * collecting updated information when requirements are due or change, like custom
930
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
931
           * The default value for this feature is {@code true}.
932
           */
933
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
934
            this.externalAccountCollection = externalAccountCollection;
×
935
            return this;
×
936
          }
937

938
          /**
939
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
940
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
941
           * map. See {@link
942
           * AccountSessionCreateParams.Components.AccountOnboarding.Features#extraParams} for the
943
           * field documentation.
944
           */
945
          public Builder putExtraParam(String key, Object value) {
946
            if (this.extraParams == null) {
×
947
              this.extraParams = new HashMap<>();
×
948
            }
949
            this.extraParams.put(key, value);
×
950
            return this;
×
951
          }
952

953
          /**
954
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
955
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
956
           * map. See {@link
957
           * AccountSessionCreateParams.Components.AccountOnboarding.Features#extraParams} for the
958
           * field documentation.
959
           */
960
          public Builder putAllExtraParam(Map<String, Object> map) {
961
            if (this.extraParams == null) {
×
962
              this.extraParams = new HashMap<>();
×
963
            }
964
            this.extraParams.putAll(map);
×
965
            return this;
×
966
          }
967
        }
968
      }
969
    }
970

971
    @Getter
972
    public static class AppInstall {
973
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
974
      @SerializedName("enabled")
975
      Boolean enabled;
976

977
      /**
978
       * Map of extra parameters for custom features not available in this client library. The
979
       * content in this map is not serialized under this field's {@code @SerializedName} value.
980
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
981
       * name in this param object. Effectively, this map is flattened to its parent instance.
982
       */
983
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
984
      Map<String, Object> extraParams;
985

986
      /** The list of features enabled in the embedded component. */
987
      @SerializedName("features")
988
      Features features;
989

990
      private AppInstall(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
991
        this.enabled = enabled;
×
992
        this.extraParams = extraParams;
×
993
        this.features = features;
×
994
      }
×
995

996
      public static Builder builder() {
997
        return new Builder();
×
998
      }
999

1000
      public static class Builder {
×
1001
        private Boolean enabled;
1002

1003
        private Map<String, Object> extraParams;
1004

1005
        private Features features;
1006

1007
        /** Finalize and obtain parameter instance from this builder. */
1008
        public AccountSessionCreateParams.Components.AppInstall build() {
1009
          return new AccountSessionCreateParams.Components.AppInstall(
×
1010
              this.enabled, this.extraParams, this.features);
1011
        }
1012

1013
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1014
        public Builder setEnabled(Boolean enabled) {
1015
          this.enabled = enabled;
×
1016
          return this;
×
1017
        }
1018

1019
        /**
1020
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1021
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1022
         * map. See {@link AccountSessionCreateParams.Components.AppInstall#extraParams} for the
1023
         * field documentation.
1024
         */
1025
        public Builder putExtraParam(String key, Object value) {
1026
          if (this.extraParams == null) {
×
1027
            this.extraParams = new HashMap<>();
×
1028
          }
1029
          this.extraParams.put(key, value);
×
1030
          return this;
×
1031
        }
1032

1033
        /**
1034
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1035
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1036
         * map. See {@link AccountSessionCreateParams.Components.AppInstall#extraParams} for the
1037
         * field documentation.
1038
         */
1039
        public Builder putAllExtraParam(Map<String, Object> map) {
1040
          if (this.extraParams == null) {
×
1041
            this.extraParams = new HashMap<>();
×
1042
          }
1043
          this.extraParams.putAll(map);
×
1044
          return this;
×
1045
        }
1046

1047
        /** The list of features enabled in the embedded component. */
1048
        public Builder setFeatures(
1049
            AccountSessionCreateParams.Components.AppInstall.Features features) {
1050
          this.features = features;
×
1051
          return this;
×
1052
        }
1053
      }
1054

1055
      @Getter
1056
      public static class Features {
1057
        /** List of apps allowed to be enabled for this account session. */
1058
        @SerializedName("allowed_apps")
1059
        Object allowedApps;
1060

1061
        /**
1062
         * Map of extra parameters for custom features not available in this client library. The
1063
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1064
         * Instead, each key/value pair is serialized as if the key is a root-level field
1065
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1066
         * instance.
1067
         */
1068
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1069
        Map<String, Object> extraParams;
1070

1071
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1072
          this.allowedApps = allowedApps;
×
1073
          this.extraParams = extraParams;
×
1074
        }
×
1075

1076
        public static Builder builder() {
1077
          return new Builder();
×
1078
        }
1079

1080
        public static class Builder {
×
1081
          private Object allowedApps;
1082

1083
          private Map<String, Object> extraParams;
1084

1085
          /** Finalize and obtain parameter instance from this builder. */
1086
          public AccountSessionCreateParams.Components.AppInstall.Features build() {
1087
            return new AccountSessionCreateParams.Components.AppInstall.Features(
×
1088
                this.allowedApps, this.extraParams);
1089
          }
1090

1091
          /**
1092
           * Add an element to `allowedApps` list. A list is initialized for the first `add/addAll`
1093
           * call, and subsequent calls adds additional elements to the original list. See {@link
1094
           * AccountSessionCreateParams.Components.AppInstall.Features#allowedApps} for the field
1095
           * documentation.
1096
           */
1097
          @SuppressWarnings("unchecked")
1098
          public Builder addAllowedApp(String element) {
1099
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1100
              this.allowedApps = new ArrayList<String>();
×
1101
            }
1102
            ((List<String>) this.allowedApps).add(element);
×
1103
            return this;
×
1104
          }
1105

1106
          /**
1107
           * Add all elements to `allowedApps` list. A list is initialized for the first
1108
           * `add/addAll` call, and subsequent calls adds additional elements to the original list.
1109
           * See {@link AccountSessionCreateParams.Components.AppInstall.Features#allowedApps} for
1110
           * the field documentation.
1111
           */
1112
          @SuppressWarnings("unchecked")
1113
          public Builder addAllAllowedApp(List<String> elements) {
1114
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1115
              this.allowedApps = new ArrayList<String>();
×
1116
            }
1117
            ((List<String>) this.allowedApps).addAll(elements);
×
1118
            return this;
×
1119
          }
1120

1121
          /** List of apps allowed to be enabled for this account session. */
1122
          public Builder setAllowedApps(EmptyParam allowedApps) {
1123
            this.allowedApps = allowedApps;
×
1124
            return this;
×
1125
          }
1126

1127
          /** List of apps allowed to be enabled for this account session. */
1128
          public Builder setAllowedApps(List<String> allowedApps) {
1129
            this.allowedApps = allowedApps;
×
1130
            return this;
×
1131
          }
1132

1133
          /**
1134
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1135
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1136
           * map. See {@link AccountSessionCreateParams.Components.AppInstall.Features#extraParams}
1137
           * for the field documentation.
1138
           */
1139
          public Builder putExtraParam(String key, Object value) {
1140
            if (this.extraParams == null) {
×
1141
              this.extraParams = new HashMap<>();
×
1142
            }
1143
            this.extraParams.put(key, value);
×
1144
            return this;
×
1145
          }
1146

1147
          /**
1148
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1149
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1150
           * map. See {@link AccountSessionCreateParams.Components.AppInstall.Features#extraParams}
1151
           * for the field documentation.
1152
           */
1153
          public Builder putAllExtraParam(Map<String, Object> map) {
1154
            if (this.extraParams == null) {
×
1155
              this.extraParams = new HashMap<>();
×
1156
            }
1157
            this.extraParams.putAll(map);
×
1158
            return this;
×
1159
          }
1160
        }
1161
      }
1162
    }
1163

1164
    @Getter
1165
    public static class AppViewport {
1166
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1167
      @SerializedName("enabled")
1168
      Boolean enabled;
1169

1170
      /**
1171
       * Map of extra parameters for custom features not available in this client library. The
1172
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1173
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1174
       * name in this param object. Effectively, this map is flattened to its parent instance.
1175
       */
1176
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1177
      Map<String, Object> extraParams;
1178

1179
      /** The list of features enabled in the embedded component. */
1180
      @SerializedName("features")
1181
      Features features;
1182

1183
      private AppViewport(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1184
        this.enabled = enabled;
×
1185
        this.extraParams = extraParams;
×
1186
        this.features = features;
×
1187
      }
×
1188

1189
      public static Builder builder() {
1190
        return new Builder();
×
1191
      }
1192

1193
      public static class Builder {
×
1194
        private Boolean enabled;
1195

1196
        private Map<String, Object> extraParams;
1197

1198
        private Features features;
1199

1200
        /** Finalize and obtain parameter instance from this builder. */
1201
        public AccountSessionCreateParams.Components.AppViewport build() {
1202
          return new AccountSessionCreateParams.Components.AppViewport(
×
1203
              this.enabled, this.extraParams, this.features);
1204
        }
1205

1206
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1207
        public Builder setEnabled(Boolean enabled) {
1208
          this.enabled = enabled;
×
1209
          return this;
×
1210
        }
1211

1212
        /**
1213
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1214
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1215
         * map. See {@link AccountSessionCreateParams.Components.AppViewport#extraParams} for the
1216
         * field documentation.
1217
         */
1218
        public Builder putExtraParam(String key, Object value) {
1219
          if (this.extraParams == null) {
×
1220
            this.extraParams = new HashMap<>();
×
1221
          }
1222
          this.extraParams.put(key, value);
×
1223
          return this;
×
1224
        }
1225

1226
        /**
1227
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1228
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1229
         * map. See {@link AccountSessionCreateParams.Components.AppViewport#extraParams} for the
1230
         * field documentation.
1231
         */
1232
        public Builder putAllExtraParam(Map<String, Object> map) {
1233
          if (this.extraParams == null) {
×
1234
            this.extraParams = new HashMap<>();
×
1235
          }
1236
          this.extraParams.putAll(map);
×
1237
          return this;
×
1238
        }
1239

1240
        /** The list of features enabled in the embedded component. */
1241
        public Builder setFeatures(
1242
            AccountSessionCreateParams.Components.AppViewport.Features features) {
1243
          this.features = features;
×
1244
          return this;
×
1245
        }
1246
      }
1247

1248
      @Getter
1249
      public static class Features {
1250
        /** List of apps allowed to be enabled for this account session. */
1251
        @SerializedName("allowed_apps")
1252
        Object allowedApps;
1253

1254
        /**
1255
         * Map of extra parameters for custom features not available in this client library. The
1256
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1257
         * Instead, each key/value pair is serialized as if the key is a root-level field
1258
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1259
         * instance.
1260
         */
1261
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1262
        Map<String, Object> extraParams;
1263

1264
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1265
          this.allowedApps = allowedApps;
×
1266
          this.extraParams = extraParams;
×
1267
        }
×
1268

1269
        public static Builder builder() {
1270
          return new Builder();
×
1271
        }
1272

1273
        public static class Builder {
×
1274
          private Object allowedApps;
1275

1276
          private Map<String, Object> extraParams;
1277

1278
          /** Finalize and obtain parameter instance from this builder. */
1279
          public AccountSessionCreateParams.Components.AppViewport.Features build() {
1280
            return new AccountSessionCreateParams.Components.AppViewport.Features(
×
1281
                this.allowedApps, this.extraParams);
1282
          }
1283

1284
          /**
1285
           * Add an element to `allowedApps` list. A list is initialized for the first `add/addAll`
1286
           * call, and subsequent calls adds additional elements to the original list. See {@link
1287
           * AccountSessionCreateParams.Components.AppViewport.Features#allowedApps} for the field
1288
           * documentation.
1289
           */
1290
          @SuppressWarnings("unchecked")
1291
          public Builder addAllowedApp(String element) {
1292
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1293
              this.allowedApps = new ArrayList<String>();
×
1294
            }
1295
            ((List<String>) this.allowedApps).add(element);
×
1296
            return this;
×
1297
          }
1298

1299
          /**
1300
           * Add all elements to `allowedApps` list. A list is initialized for the first
1301
           * `add/addAll` call, and subsequent calls adds additional elements to the original list.
1302
           * See {@link AccountSessionCreateParams.Components.AppViewport.Features#allowedApps} for
1303
           * the field documentation.
1304
           */
1305
          @SuppressWarnings("unchecked")
1306
          public Builder addAllAllowedApp(List<String> elements) {
1307
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1308
              this.allowedApps = new ArrayList<String>();
×
1309
            }
1310
            ((List<String>) this.allowedApps).addAll(elements);
×
1311
            return this;
×
1312
          }
1313

1314
          /** List of apps allowed to be enabled for this account session. */
1315
          public Builder setAllowedApps(EmptyParam allowedApps) {
1316
            this.allowedApps = allowedApps;
×
1317
            return this;
×
1318
          }
1319

1320
          /** List of apps allowed to be enabled for this account session. */
1321
          public Builder setAllowedApps(List<String> allowedApps) {
1322
            this.allowedApps = allowedApps;
×
1323
            return this;
×
1324
          }
1325

1326
          /**
1327
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1328
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1329
           * map. See {@link AccountSessionCreateParams.Components.AppViewport.Features#extraParams}
1330
           * for the field documentation.
1331
           */
1332
          public Builder putExtraParam(String key, Object value) {
1333
            if (this.extraParams == null) {
×
1334
              this.extraParams = new HashMap<>();
×
1335
            }
1336
            this.extraParams.put(key, value);
×
1337
            return this;
×
1338
          }
1339

1340
          /**
1341
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1342
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1343
           * map. See {@link AccountSessionCreateParams.Components.AppViewport.Features#extraParams}
1344
           * for the field documentation.
1345
           */
1346
          public Builder putAllExtraParam(Map<String, Object> map) {
1347
            if (this.extraParams == null) {
×
1348
              this.extraParams = new HashMap<>();
×
1349
            }
1350
            this.extraParams.putAll(map);
×
1351
            return this;
×
1352
          }
1353
        }
1354
      }
1355
    }
1356

1357
    @Getter
1358
    public static class Balances {
1359
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1360
      @SerializedName("enabled")
1361
      Boolean enabled;
1362

1363
      /**
1364
       * Map of extra parameters for custom features not available in this client library. The
1365
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1366
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1367
       * name in this param object. Effectively, this map is flattened to its parent instance.
1368
       */
1369
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1370
      Map<String, Object> extraParams;
1371

1372
      /** The list of features enabled in the embedded component. */
1373
      @SerializedName("features")
1374
      Features features;
1375

1376
      private Balances(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1377
        this.enabled = enabled;
×
1378
        this.extraParams = extraParams;
×
1379
        this.features = features;
×
1380
      }
×
1381

1382
      public static Builder builder() {
1383
        return new Builder();
×
1384
      }
1385

1386
      public static class Builder {
×
1387
        private Boolean enabled;
1388

1389
        private Map<String, Object> extraParams;
1390

1391
        private Features features;
1392

1393
        /** Finalize and obtain parameter instance from this builder. */
1394
        public AccountSessionCreateParams.Components.Balances build() {
1395
          return new AccountSessionCreateParams.Components.Balances(
×
1396
              this.enabled, this.extraParams, this.features);
1397
        }
1398

1399
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1400
        public Builder setEnabled(Boolean enabled) {
1401
          this.enabled = enabled;
×
1402
          return this;
×
1403
        }
1404

1405
        /**
1406
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1407
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1408
         * map. See {@link AccountSessionCreateParams.Components.Balances#extraParams} for the field
1409
         * documentation.
1410
         */
1411
        public Builder putExtraParam(String key, Object value) {
1412
          if (this.extraParams == null) {
×
1413
            this.extraParams = new HashMap<>();
×
1414
          }
1415
          this.extraParams.put(key, value);
×
1416
          return this;
×
1417
        }
1418

1419
        /**
1420
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1421
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1422
         * map. See {@link AccountSessionCreateParams.Components.Balances#extraParams} for the field
1423
         * documentation.
1424
         */
1425
        public Builder putAllExtraParam(Map<String, Object> map) {
1426
          if (this.extraParams == null) {
×
1427
            this.extraParams = new HashMap<>();
×
1428
          }
1429
          this.extraParams.putAll(map);
×
1430
          return this;
×
1431
        }
1432

1433
        /** The list of features enabled in the embedded component. */
1434
        public Builder setFeatures(
1435
            AccountSessionCreateParams.Components.Balances.Features features) {
1436
          this.features = features;
×
1437
          return this;
×
1438
        }
1439
      }
1440

1441
      @Getter
1442
      public static class Features {
1443
        /**
1444
         * Disables Stripe user authentication for this embedded component. This feature can only be
1445
         * false for accounts where you’re responsible for collecting updated information when
1446
         * requirements are due or change, like custom accounts. The default value for this feature
1447
         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
1448
         * otherwise.
1449
         */
1450
        @SerializedName("disable_stripe_user_authentication")
1451
        Boolean disableStripeUserAuthentication;
1452

1453
        /**
1454
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
1455
         * Loss Liability, default {@code false} otherwise.
1456
         */
1457
        @SerializedName("edit_payout_schedule")
1458
        Boolean editPayoutSchedule;
1459

1460
        /**
1461
         * Whether to allow platforms to control bank account collection for their connected
1462
         * accounts. This feature can only be false for accounts where you’re responsible for
1463
         * collecting updated information when requirements are due or change, like custom accounts.
1464
         * Otherwise, bank account collection is determined by compliance requirements. The default
1465
         * value for this feature is {@code true}.
1466
         */
1467
        @SerializedName("external_account_collection")
1468
        Boolean externalAccountCollection;
1469

1470
        /**
1471
         * Map of extra parameters for custom features not available in this client library. The
1472
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1473
         * Instead, each key/value pair is serialized as if the key is a root-level field
1474
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1475
         * instance.
1476
         */
1477
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1478
        Map<String, Object> extraParams;
1479

1480
        /**
1481
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
1482
         * Liability, default {@code false} otherwise.
1483
         */
1484
        @SerializedName("instant_payouts")
1485
        Boolean instantPayouts;
1486

1487
        /**
1488
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
1489
         * Liability, default {@code false} otherwise.
1490
         */
1491
        @SerializedName("standard_payouts")
1492
        Boolean standardPayouts;
1493

1494
        private Features(
1495
            Boolean disableStripeUserAuthentication,
1496
            Boolean editPayoutSchedule,
1497
            Boolean externalAccountCollection,
1498
            Map<String, Object> extraParams,
1499
            Boolean instantPayouts,
1500
            Boolean standardPayouts) {
×
NEW
1501
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
1502
          this.editPayoutSchedule = editPayoutSchedule;
×
1503
          this.externalAccountCollection = externalAccountCollection;
×
1504
          this.extraParams = extraParams;
×
1505
          this.instantPayouts = instantPayouts;
×
1506
          this.standardPayouts = standardPayouts;
×
1507
        }
×
1508

1509
        public static Builder builder() {
1510
          return new Builder();
×
1511
        }
1512

1513
        public static class Builder {
×
1514
          private Boolean disableStripeUserAuthentication;
1515

1516
          private Boolean editPayoutSchedule;
1517

1518
          private Boolean externalAccountCollection;
1519

1520
          private Map<String, Object> extraParams;
1521

1522
          private Boolean instantPayouts;
1523

1524
          private Boolean standardPayouts;
1525

1526
          /** Finalize and obtain parameter instance from this builder. */
1527
          public AccountSessionCreateParams.Components.Balances.Features build() {
1528
            return new AccountSessionCreateParams.Components.Balances.Features(
×
1529
                this.disableStripeUserAuthentication,
1530
                this.editPayoutSchedule,
1531
                this.externalAccountCollection,
1532
                this.extraParams,
1533
                this.instantPayouts,
1534
                this.standardPayouts);
1535
          }
1536

1537
          /**
1538
           * Disables Stripe user authentication for this embedded component. This feature can only
1539
           * be false for accounts where you’re responsible for collecting updated information when
1540
           * requirements are due or change, like custom accounts. The default value for this
1541
           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
1542
           * true} otherwise.
1543
           */
1544
          public Builder setDisableStripeUserAuthentication(
1545
              Boolean disableStripeUserAuthentication) {
NEW
1546
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
1547
            return this;
×
1548
          }
1549

1550
          /**
1551
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
1552
           * Loss Liability, default {@code false} otherwise.
1553
           */
1554
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
1555
            this.editPayoutSchedule = editPayoutSchedule;
×
1556
            return this;
×
1557
          }
1558

1559
          /**
1560
           * Whether to allow platforms to control bank account collection for their connected
1561
           * accounts. This feature can only be false for accounts where you’re responsible for
1562
           * collecting updated information when requirements are due or change, like custom
1563
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
1564
           * The default value for this feature is {@code true}.
1565
           */
1566
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
1567
            this.externalAccountCollection = externalAccountCollection;
×
1568
            return this;
×
1569
          }
1570

1571
          /**
1572
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1573
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1574
           * map. See {@link AccountSessionCreateParams.Components.Balances.Features#extraParams}
1575
           * for the field documentation.
1576
           */
1577
          public Builder putExtraParam(String key, Object value) {
1578
            if (this.extraParams == null) {
×
1579
              this.extraParams = new HashMap<>();
×
1580
            }
1581
            this.extraParams.put(key, value);
×
1582
            return this;
×
1583
          }
1584

1585
          /**
1586
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1587
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1588
           * map. See {@link AccountSessionCreateParams.Components.Balances.Features#extraParams}
1589
           * for the field documentation.
1590
           */
1591
          public Builder putAllExtraParam(Map<String, Object> map) {
1592
            if (this.extraParams == null) {
×
1593
              this.extraParams = new HashMap<>();
×
1594
            }
1595
            this.extraParams.putAll(map);
×
1596
            return this;
×
1597
          }
1598

1599
          /**
1600
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
1601
           * Loss Liability, default {@code false} otherwise.
1602
           */
1603
          public Builder setInstantPayouts(Boolean instantPayouts) {
1604
            this.instantPayouts = instantPayouts;
×
1605
            return this;
×
1606
          }
1607

1608
          /**
1609
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
1610
           * Loss Liability, default {@code false} otherwise.
1611
           */
1612
          public Builder setStandardPayouts(Boolean standardPayouts) {
1613
            this.standardPayouts = standardPayouts;
×
1614
            return this;
×
1615
          }
1616
        }
1617
      }
1618
    }
1619

1620
    @Getter
1621
    public static class CapitalFinancing {
1622
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1623
      @SerializedName("enabled")
1624
      Boolean enabled;
1625

1626
      /**
1627
       * Map of extra parameters for custom features not available in this client library. The
1628
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1629
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1630
       * name in this param object. Effectively, this map is flattened to its parent instance.
1631
       */
1632
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1633
      Map<String, Object> extraParams;
1634

1635
      /** The list of features enabled in the embedded component. */
1636
      @SerializedName("features")
1637
      Features features;
1638

1639
      private CapitalFinancing(
1640
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1641
        this.enabled = enabled;
×
1642
        this.extraParams = extraParams;
×
1643
        this.features = features;
×
1644
      }
×
1645

1646
      public static Builder builder() {
1647
        return new Builder();
×
1648
      }
1649

1650
      public static class Builder {
×
1651
        private Boolean enabled;
1652

1653
        private Map<String, Object> extraParams;
1654

1655
        private Features features;
1656

1657
        /** Finalize and obtain parameter instance from this builder. */
1658
        public AccountSessionCreateParams.Components.CapitalFinancing build() {
1659
          return new AccountSessionCreateParams.Components.CapitalFinancing(
×
1660
              this.enabled, this.extraParams, this.features);
1661
        }
1662

1663
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1664
        public Builder setEnabled(Boolean enabled) {
1665
          this.enabled = enabled;
×
1666
          return this;
×
1667
        }
1668

1669
        /**
1670
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1671
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1672
         * map. See {@link AccountSessionCreateParams.Components.CapitalFinancing#extraParams} for
1673
         * the field documentation.
1674
         */
1675
        public Builder putExtraParam(String key, Object value) {
1676
          if (this.extraParams == null) {
×
1677
            this.extraParams = new HashMap<>();
×
1678
          }
1679
          this.extraParams.put(key, value);
×
1680
          return this;
×
1681
        }
1682

1683
        /**
1684
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1685
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1686
         * map. See {@link AccountSessionCreateParams.Components.CapitalFinancing#extraParams} for
1687
         * the field documentation.
1688
         */
1689
        public Builder putAllExtraParam(Map<String, Object> map) {
1690
          if (this.extraParams == null) {
×
1691
            this.extraParams = new HashMap<>();
×
1692
          }
1693
          this.extraParams.putAll(map);
×
1694
          return this;
×
1695
        }
1696

1697
        /** The list of features enabled in the embedded component. */
1698
        public Builder setFeatures(
1699
            AccountSessionCreateParams.Components.CapitalFinancing.Features features) {
1700
          this.features = features;
×
1701
          return this;
×
1702
        }
1703
      }
1704

1705
      @Getter
1706
      public static class Features {
1707
        /**
1708
         * Map of extra parameters for custom features not available in this client library. The
1709
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1710
         * Instead, each key/value pair is serialized as if the key is a root-level field
1711
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1712
         * instance.
1713
         */
1714
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1715
        Map<String, Object> extraParams;
1716

1717
        private Features(Map<String, Object> extraParams) {
×
1718
          this.extraParams = extraParams;
×
1719
        }
×
1720

1721
        public static Builder builder() {
1722
          return new Builder();
×
1723
        }
1724

1725
        public static class Builder {
×
1726
          private Map<String, Object> extraParams;
1727

1728
          /** Finalize and obtain parameter instance from this builder. */
1729
          public AccountSessionCreateParams.Components.CapitalFinancing.Features build() {
1730
            return new AccountSessionCreateParams.Components.CapitalFinancing.Features(
×
1731
                this.extraParams);
1732
          }
1733

1734
          /**
1735
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1736
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1737
           * map. See {@link
1738
           * AccountSessionCreateParams.Components.CapitalFinancing.Features#extraParams} for the
1739
           * field documentation.
1740
           */
1741
          public Builder putExtraParam(String key, Object value) {
1742
            if (this.extraParams == null) {
×
1743
              this.extraParams = new HashMap<>();
×
1744
            }
1745
            this.extraParams.put(key, value);
×
1746
            return this;
×
1747
          }
1748

1749
          /**
1750
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1751
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1752
           * map. See {@link
1753
           * AccountSessionCreateParams.Components.CapitalFinancing.Features#extraParams} for the
1754
           * field documentation.
1755
           */
1756
          public Builder putAllExtraParam(Map<String, Object> map) {
1757
            if (this.extraParams == null) {
×
1758
              this.extraParams = new HashMap<>();
×
1759
            }
1760
            this.extraParams.putAll(map);
×
1761
            return this;
×
1762
          }
1763
        }
1764
      }
1765
    }
1766

1767
    @Getter
1768
    public static class CapitalFinancingApplication {
1769
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1770
      @SerializedName("enabled")
1771
      Boolean enabled;
1772

1773
      /**
1774
       * Map of extra parameters for custom features not available in this client library. The
1775
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1776
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1777
       * name in this param object. Effectively, this map is flattened to its parent instance.
1778
       */
1779
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1780
      Map<String, Object> extraParams;
1781

1782
      /** The list of features enabled in the embedded component. */
1783
      @SerializedName("features")
1784
      Features features;
1785

1786
      private CapitalFinancingApplication(
1787
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1788
        this.enabled = enabled;
×
1789
        this.extraParams = extraParams;
×
1790
        this.features = features;
×
1791
      }
×
1792

1793
      public static Builder builder() {
1794
        return new Builder();
×
1795
      }
1796

1797
      public static class Builder {
×
1798
        private Boolean enabled;
1799

1800
        private Map<String, Object> extraParams;
1801

1802
        private Features features;
1803

1804
        /** Finalize and obtain parameter instance from this builder. */
1805
        public AccountSessionCreateParams.Components.CapitalFinancingApplication build() {
1806
          return new AccountSessionCreateParams.Components.CapitalFinancingApplication(
×
1807
              this.enabled, this.extraParams, this.features);
1808
        }
1809

1810
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1811
        public Builder setEnabled(Boolean enabled) {
1812
          this.enabled = enabled;
×
1813
          return this;
×
1814
        }
1815

1816
        /**
1817
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1818
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1819
         * map. See {@link
1820
         * AccountSessionCreateParams.Components.CapitalFinancingApplication#extraParams} for the
1821
         * field documentation.
1822
         */
1823
        public Builder putExtraParam(String key, Object value) {
1824
          if (this.extraParams == null) {
×
1825
            this.extraParams = new HashMap<>();
×
1826
          }
1827
          this.extraParams.put(key, value);
×
1828
          return this;
×
1829
        }
1830

1831
        /**
1832
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1833
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1834
         * map. See {@link
1835
         * AccountSessionCreateParams.Components.CapitalFinancingApplication#extraParams} for the
1836
         * field documentation.
1837
         */
1838
        public Builder putAllExtraParam(Map<String, Object> map) {
1839
          if (this.extraParams == null) {
×
1840
            this.extraParams = new HashMap<>();
×
1841
          }
1842
          this.extraParams.putAll(map);
×
1843
          return this;
×
1844
        }
1845

1846
        /** The list of features enabled in the embedded component. */
1847
        public Builder setFeatures(
1848
            AccountSessionCreateParams.Components.CapitalFinancingApplication.Features features) {
1849
          this.features = features;
×
1850
          return this;
×
1851
        }
1852
      }
1853

1854
      @Getter
1855
      public static class Features {
1856
        /**
1857
         * Map of extra parameters for custom features not available in this client library. The
1858
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1859
         * Instead, each key/value pair is serialized as if the key is a root-level field
1860
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1861
         * instance.
1862
         */
1863
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1864
        Map<String, Object> extraParams;
1865

1866
        private Features(Map<String, Object> extraParams) {
×
1867
          this.extraParams = extraParams;
×
1868
        }
×
1869

1870
        public static Builder builder() {
1871
          return new Builder();
×
1872
        }
1873

1874
        public static class Builder {
×
1875
          private Map<String, Object> extraParams;
1876

1877
          /** Finalize and obtain parameter instance from this builder. */
1878
          public AccountSessionCreateParams.Components.CapitalFinancingApplication.Features
1879
              build() {
1880
            return new AccountSessionCreateParams.Components.CapitalFinancingApplication.Features(
×
1881
                this.extraParams);
1882
          }
1883

1884
          /**
1885
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1886
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1887
           * map. See {@link
1888
           * AccountSessionCreateParams.Components.CapitalFinancingApplication.Features#extraParams}
1889
           * for the field documentation.
1890
           */
1891
          public Builder putExtraParam(String key, Object value) {
1892
            if (this.extraParams == null) {
×
1893
              this.extraParams = new HashMap<>();
×
1894
            }
1895
            this.extraParams.put(key, value);
×
1896
            return this;
×
1897
          }
1898

1899
          /**
1900
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1901
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1902
           * map. See {@link
1903
           * AccountSessionCreateParams.Components.CapitalFinancingApplication.Features#extraParams}
1904
           * for the field documentation.
1905
           */
1906
          public Builder putAllExtraParam(Map<String, Object> map) {
1907
            if (this.extraParams == null) {
×
1908
              this.extraParams = new HashMap<>();
×
1909
            }
1910
            this.extraParams.putAll(map);
×
1911
            return this;
×
1912
          }
1913
        }
1914
      }
1915
    }
1916

1917
    @Getter
1918
    public static class CapitalFinancingPromotion {
1919
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1920
      @SerializedName("enabled")
1921
      Boolean enabled;
1922

1923
      /**
1924
       * Map of extra parameters for custom features not available in this client library. The
1925
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1926
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1927
       * name in this param object. Effectively, this map is flattened to its parent instance.
1928
       */
1929
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1930
      Map<String, Object> extraParams;
1931

1932
      /** The list of features enabled in the embedded component. */
1933
      @SerializedName("features")
1934
      Features features;
1935

1936
      private CapitalFinancingPromotion(
1937
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1938
        this.enabled = enabled;
×
1939
        this.extraParams = extraParams;
×
1940
        this.features = features;
×
1941
      }
×
1942

1943
      public static Builder builder() {
1944
        return new Builder();
×
1945
      }
1946

1947
      public static class Builder {
×
1948
        private Boolean enabled;
1949

1950
        private Map<String, Object> extraParams;
1951

1952
        private Features features;
1953

1954
        /** Finalize and obtain parameter instance from this builder. */
1955
        public AccountSessionCreateParams.Components.CapitalFinancingPromotion build() {
1956
          return new AccountSessionCreateParams.Components.CapitalFinancingPromotion(
×
1957
              this.enabled, this.extraParams, this.features);
1958
        }
1959

1960
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1961
        public Builder setEnabled(Boolean enabled) {
1962
          this.enabled = enabled;
×
1963
          return this;
×
1964
        }
1965

1966
        /**
1967
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1968
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1969
         * map. See {@link
1970
         * AccountSessionCreateParams.Components.CapitalFinancingPromotion#extraParams} for the
1971
         * field documentation.
1972
         */
1973
        public Builder putExtraParam(String key, Object value) {
1974
          if (this.extraParams == null) {
×
1975
            this.extraParams = new HashMap<>();
×
1976
          }
1977
          this.extraParams.put(key, value);
×
1978
          return this;
×
1979
        }
1980

1981
        /**
1982
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1983
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1984
         * map. See {@link
1985
         * AccountSessionCreateParams.Components.CapitalFinancingPromotion#extraParams} for the
1986
         * field documentation.
1987
         */
1988
        public Builder putAllExtraParam(Map<String, Object> map) {
1989
          if (this.extraParams == null) {
×
1990
            this.extraParams = new HashMap<>();
×
1991
          }
1992
          this.extraParams.putAll(map);
×
1993
          return this;
×
1994
        }
1995

1996
        /** The list of features enabled in the embedded component. */
1997
        public Builder setFeatures(
1998
            AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features features) {
1999
          this.features = features;
×
2000
          return this;
×
2001
        }
2002
      }
2003

2004
      @Getter
2005
      public static class Features {
2006
        /**
2007
         * Map of extra parameters for custom features not available in this client library. The
2008
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2009
         * Instead, each key/value pair is serialized as if the key is a root-level field
2010
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2011
         * instance.
2012
         */
2013
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2014
        Map<String, Object> extraParams;
2015

2016
        private Features(Map<String, Object> extraParams) {
×
2017
          this.extraParams = extraParams;
×
2018
        }
×
2019

2020
        public static Builder builder() {
2021
          return new Builder();
×
2022
        }
2023

2024
        public static class Builder {
×
2025
          private Map<String, Object> extraParams;
2026

2027
          /** Finalize and obtain parameter instance from this builder. */
2028
          public AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features build() {
2029
            return new AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features(
×
2030
                this.extraParams);
2031
          }
2032

2033
          /**
2034
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2035
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2036
           * map. See {@link
2037
           * AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features#extraParams}
2038
           * for the field documentation.
2039
           */
2040
          public Builder putExtraParam(String key, Object value) {
2041
            if (this.extraParams == null) {
×
2042
              this.extraParams = new HashMap<>();
×
2043
            }
2044
            this.extraParams.put(key, value);
×
2045
            return this;
×
2046
          }
2047

2048
          /**
2049
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2050
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2051
           * map. See {@link
2052
           * AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features#extraParams}
2053
           * for the field documentation.
2054
           */
2055
          public Builder putAllExtraParam(Map<String, Object> map) {
2056
            if (this.extraParams == null) {
×
2057
              this.extraParams = new HashMap<>();
×
2058
            }
2059
            this.extraParams.putAll(map);
×
2060
            return this;
×
2061
          }
2062
        }
2063
      }
2064
    }
2065

2066
    @Getter
2067
    public static class CapitalOverview {
2068
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2069
      @SerializedName("enabled")
2070
      Boolean enabled;
2071

2072
      /**
2073
       * Map of extra parameters for custom features not available in this client library. The
2074
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2075
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2076
       * name in this param object. Effectively, this map is flattened to its parent instance.
2077
       */
2078
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2079
      Map<String, Object> extraParams;
2080

2081
      /** The list of features enabled in the embedded component. */
2082
      @SerializedName("features")
2083
      Features features;
2084

2085
      private CapitalOverview(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2086
        this.enabled = enabled;
×
2087
        this.extraParams = extraParams;
×
2088
        this.features = features;
×
2089
      }
×
2090

2091
      public static Builder builder() {
2092
        return new Builder();
×
2093
      }
2094

2095
      public static class Builder {
×
2096
        private Boolean enabled;
2097

2098
        private Map<String, Object> extraParams;
2099

2100
        private Features features;
2101

2102
        /** Finalize and obtain parameter instance from this builder. */
2103
        public AccountSessionCreateParams.Components.CapitalOverview build() {
2104
          return new AccountSessionCreateParams.Components.CapitalOverview(
×
2105
              this.enabled, this.extraParams, this.features);
2106
        }
2107

2108
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2109
        public Builder setEnabled(Boolean enabled) {
2110
          this.enabled = enabled;
×
2111
          return this;
×
2112
        }
2113

2114
        /**
2115
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2116
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2117
         * map. See {@link AccountSessionCreateParams.Components.CapitalOverview#extraParams} for
2118
         * the field documentation.
2119
         */
2120
        public Builder putExtraParam(String key, Object value) {
2121
          if (this.extraParams == null) {
×
2122
            this.extraParams = new HashMap<>();
×
2123
          }
2124
          this.extraParams.put(key, value);
×
2125
          return this;
×
2126
        }
2127

2128
        /**
2129
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2130
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2131
         * map. See {@link AccountSessionCreateParams.Components.CapitalOverview#extraParams} for
2132
         * the field documentation.
2133
         */
2134
        public Builder putAllExtraParam(Map<String, Object> map) {
2135
          if (this.extraParams == null) {
×
2136
            this.extraParams = new HashMap<>();
×
2137
          }
2138
          this.extraParams.putAll(map);
×
2139
          return this;
×
2140
        }
2141

2142
        /** The list of features enabled in the embedded component. */
2143
        public Builder setFeatures(
2144
            AccountSessionCreateParams.Components.CapitalOverview.Features features) {
2145
          this.features = features;
×
2146
          return this;
×
2147
        }
2148
      }
2149

2150
      @Getter
2151
      public static class Features {
2152
        /**
2153
         * Map of extra parameters for custom features not available in this client library. The
2154
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2155
         * Instead, each key/value pair is serialized as if the key is a root-level field
2156
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2157
         * instance.
2158
         */
2159
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2160
        Map<String, Object> extraParams;
2161

2162
        private Features(Map<String, Object> extraParams) {
×
2163
          this.extraParams = extraParams;
×
2164
        }
×
2165

2166
        public static Builder builder() {
2167
          return new Builder();
×
2168
        }
2169

2170
        public static class Builder {
×
2171
          private Map<String, Object> extraParams;
2172

2173
          /** Finalize and obtain parameter instance from this builder. */
2174
          public AccountSessionCreateParams.Components.CapitalOverview.Features build() {
2175
            return new AccountSessionCreateParams.Components.CapitalOverview.Features(
×
2176
                this.extraParams);
2177
          }
2178

2179
          /**
2180
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2181
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2182
           * map. See {@link
2183
           * AccountSessionCreateParams.Components.CapitalOverview.Features#extraParams} for the
2184
           * field documentation.
2185
           */
2186
          public Builder putExtraParam(String key, Object value) {
2187
            if (this.extraParams == null) {
×
2188
              this.extraParams = new HashMap<>();
×
2189
            }
2190
            this.extraParams.put(key, value);
×
2191
            return this;
×
2192
          }
2193

2194
          /**
2195
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2196
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2197
           * map. See {@link
2198
           * AccountSessionCreateParams.Components.CapitalOverview.Features#extraParams} for the
2199
           * field documentation.
2200
           */
2201
          public Builder putAllExtraParam(Map<String, Object> map) {
2202
            if (this.extraParams == null) {
×
2203
              this.extraParams = new HashMap<>();
×
2204
            }
2205
            this.extraParams.putAll(map);
×
2206
            return this;
×
2207
          }
2208
        }
2209
      }
2210
    }
2211

2212
    @Getter
2213
    public static class Documents {
2214
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2215
      @SerializedName("enabled")
2216
      Boolean enabled;
2217

2218
      /**
2219
       * Map of extra parameters for custom features not available in this client library. The
2220
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2221
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2222
       * name in this param object. Effectively, this map is flattened to its parent instance.
2223
       */
2224
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2225
      Map<String, Object> extraParams;
2226

2227
      /** The list of features enabled in the embedded component. */
2228
      @SerializedName("features")
2229
      Features features;
2230

2231
      private Documents(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2232
        this.enabled = enabled;
×
2233
        this.extraParams = extraParams;
×
2234
        this.features = features;
×
2235
      }
×
2236

2237
      public static Builder builder() {
2238
        return new Builder();
×
2239
      }
2240

2241
      public static class Builder {
×
2242
        private Boolean enabled;
2243

2244
        private Map<String, Object> extraParams;
2245

2246
        private Features features;
2247

2248
        /** Finalize and obtain parameter instance from this builder. */
2249
        public AccountSessionCreateParams.Components.Documents build() {
2250
          return new AccountSessionCreateParams.Components.Documents(
×
2251
              this.enabled, this.extraParams, this.features);
2252
        }
2253

2254
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2255
        public Builder setEnabled(Boolean enabled) {
2256
          this.enabled = enabled;
×
2257
          return this;
×
2258
        }
2259

2260
        /**
2261
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2262
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2263
         * map. See {@link AccountSessionCreateParams.Components.Documents#extraParams} for the
2264
         * field documentation.
2265
         */
2266
        public Builder putExtraParam(String key, Object value) {
2267
          if (this.extraParams == null) {
×
2268
            this.extraParams = new HashMap<>();
×
2269
          }
2270
          this.extraParams.put(key, value);
×
2271
          return this;
×
2272
        }
2273

2274
        /**
2275
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2276
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2277
         * map. See {@link AccountSessionCreateParams.Components.Documents#extraParams} for the
2278
         * field documentation.
2279
         */
2280
        public Builder putAllExtraParam(Map<String, Object> map) {
2281
          if (this.extraParams == null) {
×
2282
            this.extraParams = new HashMap<>();
×
2283
          }
2284
          this.extraParams.putAll(map);
×
2285
          return this;
×
2286
        }
2287

2288
        /** The list of features enabled in the embedded component. */
2289
        public Builder setFeatures(
2290
            AccountSessionCreateParams.Components.Documents.Features features) {
2291
          this.features = features;
×
2292
          return this;
×
2293
        }
2294
      }
2295

2296
      @Getter
2297
      public static class Features {
2298
        /**
2299
         * Map of extra parameters for custom features not available in this client library. The
2300
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2301
         * Instead, each key/value pair is serialized as if the key is a root-level field
2302
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2303
         * instance.
2304
         */
2305
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2306
        Map<String, Object> extraParams;
2307

2308
        private Features(Map<String, Object> extraParams) {
×
2309
          this.extraParams = extraParams;
×
2310
        }
×
2311

2312
        public static Builder builder() {
2313
          return new Builder();
×
2314
        }
2315

2316
        public static class Builder {
×
2317
          private Map<String, Object> extraParams;
2318

2319
          /** Finalize and obtain parameter instance from this builder. */
2320
          public AccountSessionCreateParams.Components.Documents.Features build() {
2321
            return new AccountSessionCreateParams.Components.Documents.Features(this.extraParams);
×
2322
          }
2323

2324
          /**
2325
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2326
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2327
           * map. See {@link AccountSessionCreateParams.Components.Documents.Features#extraParams}
2328
           * for the field documentation.
2329
           */
2330
          public Builder putExtraParam(String key, Object value) {
2331
            if (this.extraParams == null) {
×
2332
              this.extraParams = new HashMap<>();
×
2333
            }
2334
            this.extraParams.put(key, value);
×
2335
            return this;
×
2336
          }
2337

2338
          /**
2339
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2340
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2341
           * map. See {@link AccountSessionCreateParams.Components.Documents.Features#extraParams}
2342
           * for the field documentation.
2343
           */
2344
          public Builder putAllExtraParam(Map<String, Object> map) {
2345
            if (this.extraParams == null) {
×
2346
              this.extraParams = new HashMap<>();
×
2347
            }
2348
            this.extraParams.putAll(map);
×
2349
            return this;
×
2350
          }
2351
        }
2352
      }
2353
    }
2354

2355
    @Getter
2356
    public static class FinancialAccount {
2357
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2358
      @SerializedName("enabled")
2359
      Boolean enabled;
2360

2361
      /**
2362
       * Map of extra parameters for custom features not available in this client library. The
2363
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2364
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2365
       * name in this param object. Effectively, this map is flattened to its parent instance.
2366
       */
2367
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2368
      Map<String, Object> extraParams;
2369

2370
      @SerializedName("features")
2371
      Features features;
2372

2373
      private FinancialAccount(
2374
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2375
        this.enabled = enabled;
×
2376
        this.extraParams = extraParams;
×
2377
        this.features = features;
×
2378
      }
×
2379

2380
      public static Builder builder() {
2381
        return new Builder();
×
2382
      }
2383

2384
      public static class Builder {
×
2385
        private Boolean enabled;
2386

2387
        private Map<String, Object> extraParams;
2388

2389
        private Features features;
2390

2391
        /** Finalize and obtain parameter instance from this builder. */
2392
        public AccountSessionCreateParams.Components.FinancialAccount build() {
2393
          return new AccountSessionCreateParams.Components.FinancialAccount(
×
2394
              this.enabled, this.extraParams, this.features);
2395
        }
2396

2397
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2398
        public Builder setEnabled(Boolean enabled) {
2399
          this.enabled = enabled;
×
2400
          return this;
×
2401
        }
2402

2403
        /**
2404
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2405
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2406
         * map. See {@link AccountSessionCreateParams.Components.FinancialAccount#extraParams} for
2407
         * the field documentation.
2408
         */
2409
        public Builder putExtraParam(String key, Object value) {
2410
          if (this.extraParams == null) {
×
2411
            this.extraParams = new HashMap<>();
×
2412
          }
2413
          this.extraParams.put(key, value);
×
2414
          return this;
×
2415
        }
2416

2417
        /**
2418
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2419
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2420
         * map. See {@link AccountSessionCreateParams.Components.FinancialAccount#extraParams} for
2421
         * the field documentation.
2422
         */
2423
        public Builder putAllExtraParam(Map<String, Object> map) {
2424
          if (this.extraParams == null) {
×
2425
            this.extraParams = new HashMap<>();
×
2426
          }
2427
          this.extraParams.putAll(map);
×
2428
          return this;
×
2429
        }
2430

2431
        public Builder setFeatures(
2432
            AccountSessionCreateParams.Components.FinancialAccount.Features features) {
2433
          this.features = features;
×
2434
          return this;
×
2435
        }
2436
      }
2437

2438
      @Getter
2439
      public static class Features {
2440
        /**
2441
         * Disables Stripe user authentication for this embedded component. This feature can only be
2442
         * false for accounts where you’re responsible for collecting updated information when
2443
         * requirements are due or change, like custom accounts. The default value for this feature
2444
         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
2445
         * otherwise.
2446
         */
2447
        @SerializedName("disable_stripe_user_authentication")
2448
        Boolean disableStripeUserAuthentication;
2449

2450
        /** Whether to allow external accounts to be linked for money transfer. */
2451
        @SerializedName("external_account_collection")
2452
        Boolean externalAccountCollection;
2453

2454
        /**
2455
         * Map of extra parameters for custom features not available in this client library. The
2456
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2457
         * Instead, each key/value pair is serialized as if the key is a root-level field
2458
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2459
         * instance.
2460
         */
2461
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2462
        Map<String, Object> extraParams;
2463

2464
        /** Whether to allow money movement features. */
2465
        @SerializedName("money_movement")
2466
        Boolean moneyMovement;
2467

2468
        /** Whether to allow sending money. */
2469
        @SerializedName("send_money")
2470
        Boolean sendMoney;
2471

2472
        /** Whether to allow transferring balance. */
2473
        @SerializedName("transfer_balance")
2474
        Boolean transferBalance;
2475

2476
        private Features(
2477
            Boolean disableStripeUserAuthentication,
2478
            Boolean externalAccountCollection,
2479
            Map<String, Object> extraParams,
2480
            Boolean moneyMovement,
2481
            Boolean sendMoney,
2482
            Boolean transferBalance) {
×
NEW
2483
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
2484
          this.externalAccountCollection = externalAccountCollection;
×
2485
          this.extraParams = extraParams;
×
2486
          this.moneyMovement = moneyMovement;
×
2487
          this.sendMoney = sendMoney;
×
2488
          this.transferBalance = transferBalance;
×
2489
        }
×
2490

2491
        public static Builder builder() {
2492
          return new Builder();
×
2493
        }
2494

2495
        public static class Builder {
×
2496
          private Boolean disableStripeUserAuthentication;
2497

2498
          private Boolean externalAccountCollection;
2499

2500
          private Map<String, Object> extraParams;
2501

2502
          private Boolean moneyMovement;
2503

2504
          private Boolean sendMoney;
2505

2506
          private Boolean transferBalance;
2507

2508
          /** Finalize and obtain parameter instance from this builder. */
2509
          public AccountSessionCreateParams.Components.FinancialAccount.Features build() {
2510
            return new AccountSessionCreateParams.Components.FinancialAccount.Features(
×
2511
                this.disableStripeUserAuthentication,
2512
                this.externalAccountCollection,
2513
                this.extraParams,
2514
                this.moneyMovement,
2515
                this.sendMoney,
2516
                this.transferBalance);
2517
          }
2518

2519
          /**
2520
           * Disables Stripe user authentication for this embedded component. This feature can only
2521
           * be false for accounts where you’re responsible for collecting updated information when
2522
           * requirements are due or change, like custom accounts. The default value for this
2523
           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
2524
           * true} otherwise.
2525
           */
2526
          public Builder setDisableStripeUserAuthentication(
2527
              Boolean disableStripeUserAuthentication) {
NEW
2528
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
2529
            return this;
×
2530
          }
2531

2532
          /** Whether to allow external accounts to be linked for money transfer. */
2533
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
2534
            this.externalAccountCollection = externalAccountCollection;
×
2535
            return this;
×
2536
          }
2537

2538
          /**
2539
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2540
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2541
           * map. See {@link
2542
           * AccountSessionCreateParams.Components.FinancialAccount.Features#extraParams} for the
2543
           * field documentation.
2544
           */
2545
          public Builder putExtraParam(String key, Object value) {
2546
            if (this.extraParams == null) {
×
2547
              this.extraParams = new HashMap<>();
×
2548
            }
2549
            this.extraParams.put(key, value);
×
2550
            return this;
×
2551
          }
2552

2553
          /**
2554
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2555
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2556
           * map. See {@link
2557
           * AccountSessionCreateParams.Components.FinancialAccount.Features#extraParams} for the
2558
           * field documentation.
2559
           */
2560
          public Builder putAllExtraParam(Map<String, Object> map) {
2561
            if (this.extraParams == null) {
×
2562
              this.extraParams = new HashMap<>();
×
2563
            }
2564
            this.extraParams.putAll(map);
×
2565
            return this;
×
2566
          }
2567

2568
          /** Whether to allow money movement features. */
2569
          public Builder setMoneyMovement(Boolean moneyMovement) {
2570
            this.moneyMovement = moneyMovement;
×
2571
            return this;
×
2572
          }
2573

2574
          /** Whether to allow sending money. */
2575
          public Builder setSendMoney(Boolean sendMoney) {
2576
            this.sendMoney = sendMoney;
×
2577
            return this;
×
2578
          }
2579

2580
          /** Whether to allow transferring balance. */
2581
          public Builder setTransferBalance(Boolean transferBalance) {
2582
            this.transferBalance = transferBalance;
×
2583
            return this;
×
2584
          }
2585
        }
2586
      }
2587
    }
2588

2589
    @Getter
2590
    public static class FinancialAccountTransactions {
2591
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2592
      @SerializedName("enabled")
2593
      Boolean enabled;
2594

2595
      /**
2596
       * Map of extra parameters for custom features not available in this client library. The
2597
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2598
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2599
       * name in this param object. Effectively, this map is flattened to its parent instance.
2600
       */
2601
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2602
      Map<String, Object> extraParams;
2603

2604
      @SerializedName("features")
2605
      Features features;
2606

2607
      private FinancialAccountTransactions(
2608
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2609
        this.enabled = enabled;
×
2610
        this.extraParams = extraParams;
×
2611
        this.features = features;
×
2612
      }
×
2613

2614
      public static Builder builder() {
2615
        return new Builder();
×
2616
      }
2617

2618
      public static class Builder {
×
2619
        private Boolean enabled;
2620

2621
        private Map<String, Object> extraParams;
2622

2623
        private Features features;
2624

2625
        /** Finalize and obtain parameter instance from this builder. */
2626
        public AccountSessionCreateParams.Components.FinancialAccountTransactions build() {
2627
          return new AccountSessionCreateParams.Components.FinancialAccountTransactions(
×
2628
              this.enabled, this.extraParams, this.features);
2629
        }
2630

2631
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2632
        public Builder setEnabled(Boolean enabled) {
2633
          this.enabled = enabled;
×
2634
          return this;
×
2635
        }
2636

2637
        /**
2638
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2639
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2640
         * map. See {@link
2641
         * AccountSessionCreateParams.Components.FinancialAccountTransactions#extraParams} for the
2642
         * field documentation.
2643
         */
2644
        public Builder putExtraParam(String key, Object value) {
2645
          if (this.extraParams == null) {
×
2646
            this.extraParams = new HashMap<>();
×
2647
          }
2648
          this.extraParams.put(key, value);
×
2649
          return this;
×
2650
        }
2651

2652
        /**
2653
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2654
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2655
         * map. See {@link
2656
         * AccountSessionCreateParams.Components.FinancialAccountTransactions#extraParams} for the
2657
         * field documentation.
2658
         */
2659
        public Builder putAllExtraParam(Map<String, Object> map) {
2660
          if (this.extraParams == null) {
×
2661
            this.extraParams = new HashMap<>();
×
2662
          }
2663
          this.extraParams.putAll(map);
×
2664
          return this;
×
2665
        }
2666

2667
        public Builder setFeatures(
2668
            AccountSessionCreateParams.Components.FinancialAccountTransactions.Features features) {
2669
          this.features = features;
×
2670
          return this;
×
2671
        }
2672
      }
2673

2674
      @Getter
2675
      public static class Features {
2676
        /** Whether to allow card spend dispute management features. */
2677
        @SerializedName("card_spend_dispute_management")
2678
        Boolean cardSpendDisputeManagement;
2679

2680
        /**
2681
         * Map of extra parameters for custom features not available in this client library. The
2682
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2683
         * Instead, each key/value pair is serialized as if the key is a root-level field
2684
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2685
         * instance.
2686
         */
2687
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2688
        Map<String, Object> extraParams;
2689

2690
        private Features(Boolean cardSpendDisputeManagement, Map<String, Object> extraParams) {
×
2691
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2692
          this.extraParams = extraParams;
×
2693
        }
×
2694

2695
        public static Builder builder() {
2696
          return new Builder();
×
2697
        }
2698

2699
        public static class Builder {
×
2700
          private Boolean cardSpendDisputeManagement;
2701

2702
          private Map<String, Object> extraParams;
2703

2704
          /** Finalize and obtain parameter instance from this builder. */
2705
          public AccountSessionCreateParams.Components.FinancialAccountTransactions.Features
2706
              build() {
2707
            return new AccountSessionCreateParams.Components.FinancialAccountTransactions.Features(
×
2708
                this.cardSpendDisputeManagement, this.extraParams);
2709
          }
2710

2711
          /** Whether to allow card spend dispute management features. */
2712
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
2713
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2714
            return this;
×
2715
          }
2716

2717
          /**
2718
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2719
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2720
           * map. See {@link
2721
           * AccountSessionCreateParams.Components.FinancialAccountTransactions.Features#extraParams}
2722
           * for the field documentation.
2723
           */
2724
          public Builder putExtraParam(String key, Object value) {
2725
            if (this.extraParams == null) {
×
2726
              this.extraParams = new HashMap<>();
×
2727
            }
2728
            this.extraParams.put(key, value);
×
2729
            return this;
×
2730
          }
2731

2732
          /**
2733
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2734
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2735
           * map. See {@link
2736
           * AccountSessionCreateParams.Components.FinancialAccountTransactions.Features#extraParams}
2737
           * for the field documentation.
2738
           */
2739
          public Builder putAllExtraParam(Map<String, Object> map) {
2740
            if (this.extraParams == null) {
×
2741
              this.extraParams = new HashMap<>();
×
2742
            }
2743
            this.extraParams.putAll(map);
×
2744
            return this;
×
2745
          }
2746
        }
2747
      }
2748
    }
2749

2750
    @Getter
2751
    public static class IssuingCard {
2752
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2753
      @SerializedName("enabled")
2754
      Boolean enabled;
2755

2756
      /**
2757
       * Map of extra parameters for custom features not available in this client library. The
2758
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2759
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2760
       * name in this param object. Effectively, this map is flattened to its parent instance.
2761
       */
2762
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2763
      Map<String, Object> extraParams;
2764

2765
      /** The list of features enabled in the embedded component. */
2766
      @SerializedName("features")
2767
      Features features;
2768

2769
      private IssuingCard(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2770
        this.enabled = enabled;
×
2771
        this.extraParams = extraParams;
×
2772
        this.features = features;
×
2773
      }
×
2774

2775
      public static Builder builder() {
2776
        return new Builder();
×
2777
      }
2778

2779
      public static class Builder {
×
2780
        private Boolean enabled;
2781

2782
        private Map<String, Object> extraParams;
2783

2784
        private Features features;
2785

2786
        /** Finalize and obtain parameter instance from this builder. */
2787
        public AccountSessionCreateParams.Components.IssuingCard build() {
2788
          return new AccountSessionCreateParams.Components.IssuingCard(
×
2789
              this.enabled, this.extraParams, this.features);
2790
        }
2791

2792
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2793
        public Builder setEnabled(Boolean enabled) {
2794
          this.enabled = enabled;
×
2795
          return this;
×
2796
        }
2797

2798
        /**
2799
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2800
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2801
         * map. See {@link AccountSessionCreateParams.Components.IssuingCard#extraParams} for the
2802
         * field documentation.
2803
         */
2804
        public Builder putExtraParam(String key, Object value) {
2805
          if (this.extraParams == null) {
×
2806
            this.extraParams = new HashMap<>();
×
2807
          }
2808
          this.extraParams.put(key, value);
×
2809
          return this;
×
2810
        }
2811

2812
        /**
2813
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2814
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2815
         * map. See {@link AccountSessionCreateParams.Components.IssuingCard#extraParams} for the
2816
         * field documentation.
2817
         */
2818
        public Builder putAllExtraParam(Map<String, Object> map) {
2819
          if (this.extraParams == null) {
×
2820
            this.extraParams = new HashMap<>();
×
2821
          }
2822
          this.extraParams.putAll(map);
×
2823
          return this;
×
2824
        }
2825

2826
        /** The list of features enabled in the embedded component. */
2827
        public Builder setFeatures(
2828
            AccountSessionCreateParams.Components.IssuingCard.Features features) {
2829
          this.features = features;
×
2830
          return this;
×
2831
        }
2832
      }
2833

2834
      @Getter
2835
      public static class Features {
2836
        /**
2837
         * Map of extra parameters for custom features not available in this client library. The
2838
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2839
         * Instead, each key/value pair is serialized as if the key is a root-level field
2840
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2841
         * instance.
2842
         */
2843
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2844
        Map<String, Object> extraParams;
2845

2846
        private Features(Map<String, Object> extraParams) {
×
2847
          this.extraParams = extraParams;
×
2848
        }
×
2849

2850
        public static Builder builder() {
2851
          return new Builder();
×
2852
        }
2853

2854
        public static class Builder {
×
2855
          private Map<String, Object> extraParams;
2856

2857
          /** Finalize and obtain parameter instance from this builder. */
2858
          public AccountSessionCreateParams.Components.IssuingCard.Features build() {
2859
            return new AccountSessionCreateParams.Components.IssuingCard.Features(this.extraParams);
×
2860
          }
2861

2862
          /**
2863
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2864
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2865
           * map. See {@link AccountSessionCreateParams.Components.IssuingCard.Features#extraParams}
2866
           * for the field documentation.
2867
           */
2868
          public Builder putExtraParam(String key, Object value) {
2869
            if (this.extraParams == null) {
×
2870
              this.extraParams = new HashMap<>();
×
2871
            }
2872
            this.extraParams.put(key, value);
×
2873
            return this;
×
2874
          }
2875

2876
          /**
2877
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2878
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2879
           * map. See {@link AccountSessionCreateParams.Components.IssuingCard.Features#extraParams}
2880
           * for the field documentation.
2881
           */
2882
          public Builder putAllExtraParam(Map<String, Object> map) {
2883
            if (this.extraParams == null) {
×
2884
              this.extraParams = new HashMap<>();
×
2885
            }
2886
            this.extraParams.putAll(map);
×
2887
            return this;
×
2888
          }
2889
        }
2890
      }
2891
    }
2892

2893
    @Getter
2894
    public static class IssuingCardsList {
2895
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2896
      @SerializedName("enabled")
2897
      Boolean enabled;
2898

2899
      /**
2900
       * Map of extra parameters for custom features not available in this client library. The
2901
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2902
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2903
       * name in this param object. Effectively, this map is flattened to its parent instance.
2904
       */
2905
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2906
      Map<String, Object> extraParams;
2907

2908
      /** The list of features enabled in the embedded component. */
2909
      @SerializedName("features")
2910
      Features features;
2911

2912
      private IssuingCardsList(
2913
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2914
        this.enabled = enabled;
×
2915
        this.extraParams = extraParams;
×
2916
        this.features = features;
×
2917
      }
×
2918

2919
      public static Builder builder() {
2920
        return new Builder();
×
2921
      }
2922

2923
      public static class Builder {
×
2924
        private Boolean enabled;
2925

2926
        private Map<String, Object> extraParams;
2927

2928
        private Features features;
2929

2930
        /** Finalize and obtain parameter instance from this builder. */
2931
        public AccountSessionCreateParams.Components.IssuingCardsList build() {
2932
          return new AccountSessionCreateParams.Components.IssuingCardsList(
×
2933
              this.enabled, this.extraParams, this.features);
2934
        }
2935

2936
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2937
        public Builder setEnabled(Boolean enabled) {
2938
          this.enabled = enabled;
×
2939
          return this;
×
2940
        }
2941

2942
        /**
2943
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2944
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2945
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
2946
         * the field documentation.
2947
         */
2948
        public Builder putExtraParam(String key, Object value) {
2949
          if (this.extraParams == null) {
×
2950
            this.extraParams = new HashMap<>();
×
2951
          }
2952
          this.extraParams.put(key, value);
×
2953
          return this;
×
2954
        }
2955

2956
        /**
2957
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2958
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2959
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
2960
         * the field documentation.
2961
         */
2962
        public Builder putAllExtraParam(Map<String, Object> map) {
2963
          if (this.extraParams == null) {
×
2964
            this.extraParams = new HashMap<>();
×
2965
          }
2966
          this.extraParams.putAll(map);
×
2967
          return this;
×
2968
        }
2969

2970
        /** The list of features enabled in the embedded component. */
2971
        public Builder setFeatures(
2972
            AccountSessionCreateParams.Components.IssuingCardsList.Features features) {
2973
          this.features = features;
×
2974
          return this;
×
2975
        }
2976
      }
2977

2978
      @Getter
2979
      public static class Features {
2980
        /** Whether to allow card management features. */
2981
        @SerializedName("card_management")
2982
        Boolean cardManagement;
2983

2984
        /** Whether to allow card spend dispute management features. */
2985
        @SerializedName("card_spend_dispute_management")
2986
        Boolean cardSpendDisputeManagement;
2987

2988
        /** Whether to allow cardholder management features. */
2989
        @SerializedName("cardholder_management")
2990
        Boolean cardholderManagement;
2991

2992
        /**
2993
         * Map of extra parameters for custom features not available in this client library. The
2994
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2995
         * Instead, each key/value pair is serialized as if the key is a root-level field
2996
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2997
         * instance.
2998
         */
2999
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3000
        Map<String, Object> extraParams;
3001

3002
        /** Whether to allow spend control management features. */
3003
        @SerializedName("spend_control_management")
3004
        Boolean spendControlManagement;
3005

3006
        private Features(
3007
            Boolean cardManagement,
3008
            Boolean cardSpendDisputeManagement,
3009
            Boolean cardholderManagement,
3010
            Map<String, Object> extraParams,
NEW
3011
            Boolean spendControlManagement) {
×
3012
          this.cardManagement = cardManagement;
×
NEW
3013
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
3014
          this.cardholderManagement = cardholderManagement;
×
3015
          this.extraParams = extraParams;
×
NEW
3016
          this.spendControlManagement = spendControlManagement;
×
UNCOV
3017
        }
×
3018

3019
        public static Builder builder() {
3020
          return new Builder();
×
3021
        }
3022

3023
        public static class Builder {
×
3024
          private Boolean cardManagement;
3025

3026
          private Boolean cardSpendDisputeManagement;
3027

3028
          private Boolean cardholderManagement;
3029

3030
          private Map<String, Object> extraParams;
3031

3032
          private Boolean spendControlManagement;
3033

3034
          /** Finalize and obtain parameter instance from this builder. */
3035
          public AccountSessionCreateParams.Components.IssuingCardsList.Features build() {
3036
            return new AccountSessionCreateParams.Components.IssuingCardsList.Features(
×
3037
                this.cardManagement,
3038
                this.cardSpendDisputeManagement,
3039
                this.cardholderManagement,
3040
                this.extraParams,
3041
                this.spendControlManagement);
3042
          }
3043

3044
          /** Whether to allow card management features. */
3045
          public Builder setCardManagement(Boolean cardManagement) {
3046
            this.cardManagement = cardManagement;
×
3047
            return this;
×
3048
          }
3049

3050
          /** Whether to allow card spend dispute management features. */
3051
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
NEW
3052
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
NEW
3053
            return this;
×
3054
          }
3055

3056
          /** Whether to allow cardholder management features. */
3057
          public Builder setCardholderManagement(Boolean cardholderManagement) {
3058
            this.cardholderManagement = cardholderManagement;
×
3059
            return this;
×
3060
          }
3061

3062
          /**
3063
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3064
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3065
           * map. See {@link
3066
           * AccountSessionCreateParams.Components.IssuingCardsList.Features#extraParams} for the
3067
           * field documentation.
3068
           */
3069
          public Builder putExtraParam(String key, Object value) {
3070
            if (this.extraParams == null) {
×
3071
              this.extraParams = new HashMap<>();
×
3072
            }
3073
            this.extraParams.put(key, value);
×
3074
            return this;
×
3075
          }
3076

3077
          /**
3078
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3079
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3080
           * map. See {@link
3081
           * AccountSessionCreateParams.Components.IssuingCardsList.Features#extraParams} for the
3082
           * field documentation.
3083
           */
3084
          public Builder putAllExtraParam(Map<String, Object> map) {
3085
            if (this.extraParams == null) {
×
3086
              this.extraParams = new HashMap<>();
×
3087
            }
3088
            this.extraParams.putAll(map);
×
3089
            return this;
×
3090
          }
3091

3092
          /** Whether to allow spend control management features. */
3093
          public Builder setSpendControlManagement(Boolean spendControlManagement) {
NEW
3094
            this.spendControlManagement = spendControlManagement;
×
NEW
3095
            return this;
×
3096
          }
3097
        }
3098
      }
3099
    }
3100

3101
    @Getter
3102
    public static class NotificationBanner {
3103
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3104
      @SerializedName("enabled")
3105
      Boolean enabled;
3106

3107
      /**
3108
       * Map of extra parameters for custom features not available in this client library. The
3109
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3110
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3111
       * name in this param object. Effectively, this map is flattened to its parent instance.
3112
       */
3113
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3114
      Map<String, Object> extraParams;
3115

3116
      /** The list of features enabled in the embedded component. */
3117
      @SerializedName("features")
3118
      Features features;
3119

3120
      private NotificationBanner(
3121
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3122
        this.enabled = enabled;
×
3123
        this.extraParams = extraParams;
×
3124
        this.features = features;
×
3125
      }
×
3126

3127
      public static Builder builder() {
3128
        return new Builder();
×
3129
      }
3130

3131
      public static class Builder {
×
3132
        private Boolean enabled;
3133

3134
        private Map<String, Object> extraParams;
3135

3136
        private Features features;
3137

3138
        /** Finalize and obtain parameter instance from this builder. */
3139
        public AccountSessionCreateParams.Components.NotificationBanner build() {
3140
          return new AccountSessionCreateParams.Components.NotificationBanner(
×
3141
              this.enabled, this.extraParams, this.features);
3142
        }
3143

3144
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3145
        public Builder setEnabled(Boolean enabled) {
3146
          this.enabled = enabled;
×
3147
          return this;
×
3148
        }
3149

3150
        /**
3151
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3152
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3153
         * map. See {@link AccountSessionCreateParams.Components.NotificationBanner#extraParams} for
3154
         * the field documentation.
3155
         */
3156
        public Builder putExtraParam(String key, Object value) {
3157
          if (this.extraParams == null) {
×
3158
            this.extraParams = new HashMap<>();
×
3159
          }
3160
          this.extraParams.put(key, value);
×
3161
          return this;
×
3162
        }
3163

3164
        /**
3165
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3166
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3167
         * map. See {@link AccountSessionCreateParams.Components.NotificationBanner#extraParams} for
3168
         * the field documentation.
3169
         */
3170
        public Builder putAllExtraParam(Map<String, Object> map) {
3171
          if (this.extraParams == null) {
×
3172
            this.extraParams = new HashMap<>();
×
3173
          }
3174
          this.extraParams.putAll(map);
×
3175
          return this;
×
3176
        }
3177

3178
        /** The list of features enabled in the embedded component. */
3179
        public Builder setFeatures(
3180
            AccountSessionCreateParams.Components.NotificationBanner.Features features) {
3181
          this.features = features;
×
3182
          return this;
×
3183
        }
3184
      }
3185

3186
      @Getter
3187
      public static class Features {
3188
        /**
3189
         * Disables Stripe user authentication for this embedded component. This feature can only be
3190
         * false for accounts where you’re responsible for collecting updated information when
3191
         * requirements are due or change, like custom accounts. The default value for this feature
3192
         * is {@code false} when {@code external_account_collection} is enabled and true otherwise.
3193
         */
3194
        @SerializedName("disable_stripe_user_authentication")
3195
        Boolean disableStripeUserAuthentication;
3196

3197
        /**
3198
         * Whether to allow platforms to control bank account collection for their connected
3199
         * accounts. This feature can only be false for accounts where you’re responsible for
3200
         * collecting updated information when requirements are due or change, like custom accounts.
3201
         * Otherwise, bank account collection is determined by compliance requirements. The default
3202
         * value for this feature is {@code true}.
3203
         */
3204
        @SerializedName("external_account_collection")
3205
        Boolean externalAccountCollection;
3206

3207
        /**
3208
         * Map of extra parameters for custom features not available in this client library. The
3209
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3210
         * Instead, each key/value pair is serialized as if the key is a root-level field
3211
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3212
         * instance.
3213
         */
3214
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3215
        Map<String, Object> extraParams;
3216

3217
        private Features(
3218
            Boolean disableStripeUserAuthentication,
3219
            Boolean externalAccountCollection,
NEW
3220
            Map<String, Object> extraParams) {
×
NEW
3221
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
3222
          this.externalAccountCollection = externalAccountCollection;
×
3223
          this.extraParams = extraParams;
×
3224
        }
×
3225

3226
        public static Builder builder() {
3227
          return new Builder();
×
3228
        }
3229

3230
        public static class Builder {
×
3231
          private Boolean disableStripeUserAuthentication;
3232

3233
          private Boolean externalAccountCollection;
3234

3235
          private Map<String, Object> extraParams;
3236

3237
          /** Finalize and obtain parameter instance from this builder. */
3238
          public AccountSessionCreateParams.Components.NotificationBanner.Features build() {
3239
            return new AccountSessionCreateParams.Components.NotificationBanner.Features(
×
3240
                this.disableStripeUserAuthentication,
3241
                this.externalAccountCollection,
3242
                this.extraParams);
3243
          }
3244

3245
          /**
3246
           * Disables Stripe user authentication for this embedded component. This feature can only
3247
           * be false for accounts where you’re responsible for collecting updated information when
3248
           * requirements are due or change, like custom accounts. The default value for this
3249
           * feature is {@code false} when {@code external_account_collection} is enabled and true
3250
           * otherwise.
3251
           */
3252
          public Builder setDisableStripeUserAuthentication(
3253
              Boolean disableStripeUserAuthentication) {
NEW
3254
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
3255
            return this;
×
3256
          }
3257

3258
          /**
3259
           * Whether to allow platforms to control bank account collection for their connected
3260
           * accounts. This feature can only be false for accounts where you’re responsible for
3261
           * collecting updated information when requirements are due or change, like custom
3262
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
3263
           * The default value for this feature is {@code true}.
3264
           */
3265
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
3266
            this.externalAccountCollection = externalAccountCollection;
×
3267
            return this;
×
3268
          }
3269

3270
          /**
3271
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3272
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3273
           * map. See {@link
3274
           * AccountSessionCreateParams.Components.NotificationBanner.Features#extraParams} for the
3275
           * field documentation.
3276
           */
3277
          public Builder putExtraParam(String key, Object value) {
3278
            if (this.extraParams == null) {
×
3279
              this.extraParams = new HashMap<>();
×
3280
            }
3281
            this.extraParams.put(key, value);
×
3282
            return this;
×
3283
          }
3284

3285
          /**
3286
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3287
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3288
           * map. See {@link
3289
           * AccountSessionCreateParams.Components.NotificationBanner.Features#extraParams} for the
3290
           * field documentation.
3291
           */
3292
          public Builder putAllExtraParam(Map<String, Object> map) {
3293
            if (this.extraParams == null) {
×
3294
              this.extraParams = new HashMap<>();
×
3295
            }
3296
            this.extraParams.putAll(map);
×
3297
            return this;
×
3298
          }
3299
        }
3300
      }
3301
    }
3302

3303
    @Getter
3304
    public static class PaymentDetails {
3305
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3306
      @SerializedName("enabled")
3307
      Boolean enabled;
3308

3309
      /**
3310
       * Map of extra parameters for custom features not available in this client library. The
3311
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3312
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3313
       * name in this param object. Effectively, this map is flattened to its parent instance.
3314
       */
3315
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3316
      Map<String, Object> extraParams;
3317

3318
      /** The list of features enabled in the embedded component. */
3319
      @SerializedName("features")
3320
      Features features;
3321

3322
      private PaymentDetails(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3323
        this.enabled = enabled;
×
3324
        this.extraParams = extraParams;
×
3325
        this.features = features;
×
3326
      }
×
3327

3328
      public static Builder builder() {
3329
        return new Builder();
×
3330
      }
3331

3332
      public static class Builder {
×
3333
        private Boolean enabled;
3334

3335
        private Map<String, Object> extraParams;
3336

3337
        private Features features;
3338

3339
        /** Finalize and obtain parameter instance from this builder. */
3340
        public AccountSessionCreateParams.Components.PaymentDetails build() {
3341
          return new AccountSessionCreateParams.Components.PaymentDetails(
×
3342
              this.enabled, this.extraParams, this.features);
3343
        }
3344

3345
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3346
        public Builder setEnabled(Boolean enabled) {
3347
          this.enabled = enabled;
×
3348
          return this;
×
3349
        }
3350

3351
        /**
3352
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3353
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3354
         * map. See {@link AccountSessionCreateParams.Components.PaymentDetails#extraParams} for the
3355
         * field documentation.
3356
         */
3357
        public Builder putExtraParam(String key, Object value) {
3358
          if (this.extraParams == null) {
×
3359
            this.extraParams = new HashMap<>();
×
3360
          }
3361
          this.extraParams.put(key, value);
×
3362
          return this;
×
3363
        }
3364

3365
        /**
3366
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3367
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3368
         * map. See {@link AccountSessionCreateParams.Components.PaymentDetails#extraParams} for the
3369
         * field documentation.
3370
         */
3371
        public Builder putAllExtraParam(Map<String, Object> map) {
3372
          if (this.extraParams == null) {
×
3373
            this.extraParams = new HashMap<>();
×
3374
          }
3375
          this.extraParams.putAll(map);
×
3376
          return this;
×
3377
        }
3378

3379
        /** The list of features enabled in the embedded component. */
3380
        public Builder setFeatures(
3381
            AccountSessionCreateParams.Components.PaymentDetails.Features features) {
3382
          this.features = features;
×
3383
          return this;
×
3384
        }
3385
      }
3386

3387
      @Getter
3388
      public static class Features {
3389
        /**
3390
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3391
         * default.
3392
         */
3393
        @SerializedName("capture_payments")
3394
        Boolean capturePayments;
3395

3396
        /**
3397
         * Whether to allow connected accounts to manage destination charges that are created on
3398
         * behalf of them. This is {@code false} by default.
3399
         */
3400
        @SerializedName("destination_on_behalf_of_charge_management")
3401
        Boolean destinationOnBehalfOfChargeManagement;
3402

3403
        /**
3404
         * Whether to allow responding to disputes, including submitting evidence and accepting
3405
         * disputes. This is {@code true} by default.
3406
         */
3407
        @SerializedName("dispute_management")
3408
        Boolean disputeManagement;
3409

3410
        /**
3411
         * Map of extra parameters for custom features not available in this client library. The
3412
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3413
         * Instead, each key/value pair is serialized as if the key is a root-level field
3414
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3415
         * instance.
3416
         */
3417
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3418
        Map<String, Object> extraParams;
3419

3420
        /** Whether to allow sending refunds. This is {@code true} by default. */
3421
        @SerializedName("refund_management")
3422
        Boolean refundManagement;
3423

3424
        private Features(
3425
            Boolean capturePayments,
3426
            Boolean destinationOnBehalfOfChargeManagement,
3427
            Boolean disputeManagement,
3428
            Map<String, Object> extraParams,
3429
            Boolean refundManagement) {
×
3430
          this.capturePayments = capturePayments;
×
3431
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3432
          this.disputeManagement = disputeManagement;
×
3433
          this.extraParams = extraParams;
×
3434
          this.refundManagement = refundManagement;
×
3435
        }
×
3436

3437
        public static Builder builder() {
3438
          return new Builder();
×
3439
        }
3440

3441
        public static class Builder {
×
3442
          private Boolean capturePayments;
3443

3444
          private Boolean destinationOnBehalfOfChargeManagement;
3445

3446
          private Boolean disputeManagement;
3447

3448
          private Map<String, Object> extraParams;
3449

3450
          private Boolean refundManagement;
3451

3452
          /** Finalize and obtain parameter instance from this builder. */
3453
          public AccountSessionCreateParams.Components.PaymentDetails.Features build() {
3454
            return new AccountSessionCreateParams.Components.PaymentDetails.Features(
×
3455
                this.capturePayments,
3456
                this.destinationOnBehalfOfChargeManagement,
3457
                this.disputeManagement,
3458
                this.extraParams,
3459
                this.refundManagement);
3460
          }
3461

3462
          /**
3463
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3464
           * default.
3465
           */
3466
          public Builder setCapturePayments(Boolean capturePayments) {
3467
            this.capturePayments = capturePayments;
×
3468
            return this;
×
3469
          }
3470

3471
          /**
3472
           * Whether to allow connected accounts to manage destination charges that are created on
3473
           * behalf of them. This is {@code false} by default.
3474
           */
3475
          public Builder setDestinationOnBehalfOfChargeManagement(
3476
              Boolean destinationOnBehalfOfChargeManagement) {
3477
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3478
            return this;
×
3479
          }
3480

3481
          /**
3482
           * Whether to allow responding to disputes, including submitting evidence and accepting
3483
           * disputes. This is {@code true} by default.
3484
           */
3485
          public Builder setDisputeManagement(Boolean disputeManagement) {
3486
            this.disputeManagement = disputeManagement;
×
3487
            return this;
×
3488
          }
3489

3490
          /**
3491
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3492
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3493
           * map. See {@link
3494
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3495
           * field documentation.
3496
           */
3497
          public Builder putExtraParam(String key, Object value) {
3498
            if (this.extraParams == null) {
×
3499
              this.extraParams = new HashMap<>();
×
3500
            }
3501
            this.extraParams.put(key, value);
×
3502
            return this;
×
3503
          }
3504

3505
          /**
3506
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3507
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3508
           * map. See {@link
3509
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3510
           * field documentation.
3511
           */
3512
          public Builder putAllExtraParam(Map<String, Object> map) {
3513
            if (this.extraParams == null) {
×
3514
              this.extraParams = new HashMap<>();
×
3515
            }
3516
            this.extraParams.putAll(map);
×
3517
            return this;
×
3518
          }
3519

3520
          /** Whether to allow sending refunds. This is {@code true} by default. */
3521
          public Builder setRefundManagement(Boolean refundManagement) {
3522
            this.refundManagement = refundManagement;
×
3523
            return this;
×
3524
          }
3525
        }
3526
      }
3527
    }
3528

3529
    @Getter
3530
    public static class PaymentMethodSettings {
3531
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3532
      @SerializedName("enabled")
3533
      Boolean enabled;
3534

3535
      /**
3536
       * Map of extra parameters for custom features not available in this client library. The
3537
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3538
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3539
       * name in this param object. Effectively, this map is flattened to its parent instance.
3540
       */
3541
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3542
      Map<String, Object> extraParams;
3543

3544
      /** The list of features enabled in the embedded component. */
3545
      @SerializedName("features")
3546
      Features features;
3547

3548
      private PaymentMethodSettings(
3549
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3550
        this.enabled = enabled;
×
3551
        this.extraParams = extraParams;
×
3552
        this.features = features;
×
3553
      }
×
3554

3555
      public static Builder builder() {
3556
        return new Builder();
×
3557
      }
3558

3559
      public static class Builder {
×
3560
        private Boolean enabled;
3561

3562
        private Map<String, Object> extraParams;
3563

3564
        private Features features;
3565

3566
        /** Finalize and obtain parameter instance from this builder. */
3567
        public AccountSessionCreateParams.Components.PaymentMethodSettings build() {
3568
          return new AccountSessionCreateParams.Components.PaymentMethodSettings(
×
3569
              this.enabled, this.extraParams, this.features);
3570
        }
3571

3572
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3573
        public Builder setEnabled(Boolean enabled) {
3574
          this.enabled = enabled;
×
3575
          return this;
×
3576
        }
3577

3578
        /**
3579
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3580
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3581
         * map. See {@link AccountSessionCreateParams.Components.PaymentMethodSettings#extraParams}
3582
         * for the field documentation.
3583
         */
3584
        public Builder putExtraParam(String key, Object value) {
3585
          if (this.extraParams == null) {
×
3586
            this.extraParams = new HashMap<>();
×
3587
          }
3588
          this.extraParams.put(key, value);
×
3589
          return this;
×
3590
        }
3591

3592
        /**
3593
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3594
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3595
         * map. See {@link AccountSessionCreateParams.Components.PaymentMethodSettings#extraParams}
3596
         * for the field documentation.
3597
         */
3598
        public Builder putAllExtraParam(Map<String, Object> map) {
3599
          if (this.extraParams == null) {
×
3600
            this.extraParams = new HashMap<>();
×
3601
          }
3602
          this.extraParams.putAll(map);
×
3603
          return this;
×
3604
        }
3605

3606
        /** The list of features enabled in the embedded component. */
3607
        public Builder setFeatures(
3608
            AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) {
3609
          this.features = features;
×
3610
          return this;
×
3611
        }
3612
      }
3613

3614
      @Getter
3615
      public static class Features {
3616
        /**
3617
         * Map of extra parameters for custom features not available in this client library. The
3618
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3619
         * Instead, each key/value pair is serialized as if the key is a root-level field
3620
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3621
         * instance.
3622
         */
3623
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3624
        Map<String, Object> extraParams;
3625

3626
        private Features(Map<String, Object> extraParams) {
×
3627
          this.extraParams = extraParams;
×
3628
        }
×
3629

3630
        public static Builder builder() {
3631
          return new Builder();
×
3632
        }
3633

3634
        public static class Builder {
×
3635
          private Map<String, Object> extraParams;
3636

3637
          /** Finalize and obtain parameter instance from this builder. */
3638
          public AccountSessionCreateParams.Components.PaymentMethodSettings.Features build() {
3639
            return new AccountSessionCreateParams.Components.PaymentMethodSettings.Features(
×
3640
                this.extraParams);
3641
          }
3642

3643
          /**
3644
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3645
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3646
           * map. See {@link
3647
           * AccountSessionCreateParams.Components.PaymentMethodSettings.Features#extraParams} for
3648
           * the field documentation.
3649
           */
3650
          public Builder putExtraParam(String key, Object value) {
3651
            if (this.extraParams == null) {
×
3652
              this.extraParams = new HashMap<>();
×
3653
            }
3654
            this.extraParams.put(key, value);
×
3655
            return this;
×
3656
          }
3657

3658
          /**
3659
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3660
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3661
           * map. See {@link
3662
           * AccountSessionCreateParams.Components.PaymentMethodSettings.Features#extraParams} for
3663
           * the field documentation.
3664
           */
3665
          public Builder putAllExtraParam(Map<String, Object> map) {
3666
            if (this.extraParams == null) {
×
3667
              this.extraParams = new HashMap<>();
×
3668
            }
3669
            this.extraParams.putAll(map);
×
3670
            return this;
×
3671
          }
3672
        }
3673
      }
3674
    }
3675

3676
    @Getter
3677
    public static class Payments {
3678
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3679
      @SerializedName("enabled")
3680
      Boolean enabled;
3681

3682
      /**
3683
       * Map of extra parameters for custom features not available in this client library. The
3684
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3685
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3686
       * name in this param object. Effectively, this map is flattened to its parent instance.
3687
       */
3688
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3689
      Map<String, Object> extraParams;
3690

3691
      /** The list of features enabled in the embedded component. */
3692
      @SerializedName("features")
3693
      Features features;
3694

3695
      private Payments(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3696
        this.enabled = enabled;
×
3697
        this.extraParams = extraParams;
×
3698
        this.features = features;
×
3699
      }
×
3700

3701
      public static Builder builder() {
3702
        return new Builder();
×
3703
      }
3704

3705
      public static class Builder {
×
3706
        private Boolean enabled;
3707

3708
        private Map<String, Object> extraParams;
3709

3710
        private Features features;
3711

3712
        /** Finalize and obtain parameter instance from this builder. */
3713
        public AccountSessionCreateParams.Components.Payments build() {
3714
          return new AccountSessionCreateParams.Components.Payments(
×
3715
              this.enabled, this.extraParams, this.features);
3716
        }
3717

3718
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3719
        public Builder setEnabled(Boolean enabled) {
3720
          this.enabled = enabled;
×
3721
          return this;
×
3722
        }
3723

3724
        /**
3725
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3726
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3727
         * map. See {@link AccountSessionCreateParams.Components.Payments#extraParams} for the field
3728
         * documentation.
3729
         */
3730
        public Builder putExtraParam(String key, Object value) {
3731
          if (this.extraParams == null) {
×
3732
            this.extraParams = new HashMap<>();
×
3733
          }
3734
          this.extraParams.put(key, value);
×
3735
          return this;
×
3736
        }
3737

3738
        /**
3739
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3740
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3741
         * map. See {@link AccountSessionCreateParams.Components.Payments#extraParams} for the field
3742
         * documentation.
3743
         */
3744
        public Builder putAllExtraParam(Map<String, Object> map) {
3745
          if (this.extraParams == null) {
×
3746
            this.extraParams = new HashMap<>();
×
3747
          }
3748
          this.extraParams.putAll(map);
×
3749
          return this;
×
3750
        }
3751

3752
        /** The list of features enabled in the embedded component. */
3753
        public Builder setFeatures(
3754
            AccountSessionCreateParams.Components.Payments.Features features) {
3755
          this.features = features;
×
3756
          return this;
×
3757
        }
3758
      }
3759

3760
      @Getter
3761
      public static class Features {
3762
        /**
3763
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3764
         * default.
3765
         */
3766
        @SerializedName("capture_payments")
3767
        Boolean capturePayments;
3768

3769
        /**
3770
         * Whether to allow connected accounts to manage destination charges that are created on
3771
         * behalf of them. This is {@code false} by default.
3772
         */
3773
        @SerializedName("destination_on_behalf_of_charge_management")
3774
        Boolean destinationOnBehalfOfChargeManagement;
3775

3776
        /**
3777
         * Whether to allow responding to disputes, including submitting evidence and accepting
3778
         * disputes. This is {@code true} by default.
3779
         */
3780
        @SerializedName("dispute_management")
3781
        Boolean disputeManagement;
3782

3783
        /**
3784
         * Map of extra parameters for custom features not available in this client library. The
3785
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3786
         * Instead, each key/value pair is serialized as if the key is a root-level field
3787
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3788
         * instance.
3789
         */
3790
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3791
        Map<String, Object> extraParams;
3792

3793
        /** Whether to allow sending refunds. This is {@code true} by default. */
3794
        @SerializedName("refund_management")
3795
        Boolean refundManagement;
3796

3797
        private Features(
3798
            Boolean capturePayments,
3799
            Boolean destinationOnBehalfOfChargeManagement,
3800
            Boolean disputeManagement,
3801
            Map<String, Object> extraParams,
3802
            Boolean refundManagement) {
×
3803
          this.capturePayments = capturePayments;
×
3804
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3805
          this.disputeManagement = disputeManagement;
×
3806
          this.extraParams = extraParams;
×
3807
          this.refundManagement = refundManagement;
×
3808
        }
×
3809

3810
        public static Builder builder() {
3811
          return new Builder();
×
3812
        }
3813

3814
        public static class Builder {
×
3815
          private Boolean capturePayments;
3816

3817
          private Boolean destinationOnBehalfOfChargeManagement;
3818

3819
          private Boolean disputeManagement;
3820

3821
          private Map<String, Object> extraParams;
3822

3823
          private Boolean refundManagement;
3824

3825
          /** Finalize and obtain parameter instance from this builder. */
3826
          public AccountSessionCreateParams.Components.Payments.Features build() {
3827
            return new AccountSessionCreateParams.Components.Payments.Features(
×
3828
                this.capturePayments,
3829
                this.destinationOnBehalfOfChargeManagement,
3830
                this.disputeManagement,
3831
                this.extraParams,
3832
                this.refundManagement);
3833
          }
3834

3835
          /**
3836
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3837
           * default.
3838
           */
3839
          public Builder setCapturePayments(Boolean capturePayments) {
3840
            this.capturePayments = capturePayments;
×
3841
            return this;
×
3842
          }
3843

3844
          /**
3845
           * Whether to allow connected accounts to manage destination charges that are created on
3846
           * behalf of them. This is {@code false} by default.
3847
           */
3848
          public Builder setDestinationOnBehalfOfChargeManagement(
3849
              Boolean destinationOnBehalfOfChargeManagement) {
3850
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3851
            return this;
×
3852
          }
3853

3854
          /**
3855
           * Whether to allow responding to disputes, including submitting evidence and accepting
3856
           * disputes. This is {@code true} by default.
3857
           */
3858
          public Builder setDisputeManagement(Boolean disputeManagement) {
3859
            this.disputeManagement = disputeManagement;
×
3860
            return this;
×
3861
          }
3862

3863
          /**
3864
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3865
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3866
           * map. See {@link AccountSessionCreateParams.Components.Payments.Features#extraParams}
3867
           * for the field documentation.
3868
           */
3869
          public Builder putExtraParam(String key, Object value) {
3870
            if (this.extraParams == null) {
×
3871
              this.extraParams = new HashMap<>();
×
3872
            }
3873
            this.extraParams.put(key, value);
×
3874
            return this;
×
3875
          }
3876

3877
          /**
3878
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3879
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3880
           * map. See {@link AccountSessionCreateParams.Components.Payments.Features#extraParams}
3881
           * for the field documentation.
3882
           */
3883
          public Builder putAllExtraParam(Map<String, Object> map) {
3884
            if (this.extraParams == null) {
×
3885
              this.extraParams = new HashMap<>();
×
3886
            }
3887
            this.extraParams.putAll(map);
×
3888
            return this;
×
3889
          }
3890

3891
          /** Whether to allow sending refunds. This is {@code true} by default. */
3892
          public Builder setRefundManagement(Boolean refundManagement) {
3893
            this.refundManagement = refundManagement;
×
3894
            return this;
×
3895
          }
3896
        }
3897
      }
3898
    }
3899

3900
    @Getter
3901
    public static class Payouts {
3902
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3903
      @SerializedName("enabled")
3904
      Boolean enabled;
3905

3906
      /**
3907
       * Map of extra parameters for custom features not available in this client library. The
3908
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3909
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3910
       * name in this param object. Effectively, this map is flattened to its parent instance.
3911
       */
3912
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3913
      Map<String, Object> extraParams;
3914

3915
      /** The list of features enabled in the embedded component. */
3916
      @SerializedName("features")
3917
      Features features;
3918

3919
      private Payouts(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3920
        this.enabled = enabled;
×
3921
        this.extraParams = extraParams;
×
3922
        this.features = features;
×
3923
      }
×
3924

3925
      public static Builder builder() {
3926
        return new Builder();
×
3927
      }
3928

3929
      public static class Builder {
×
3930
        private Boolean enabled;
3931

3932
        private Map<String, Object> extraParams;
3933

3934
        private Features features;
3935

3936
        /** Finalize and obtain parameter instance from this builder. */
3937
        public AccountSessionCreateParams.Components.Payouts build() {
3938
          return new AccountSessionCreateParams.Components.Payouts(
×
3939
              this.enabled, this.extraParams, this.features);
3940
        }
3941

3942
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3943
        public Builder setEnabled(Boolean enabled) {
3944
          this.enabled = enabled;
×
3945
          return this;
×
3946
        }
3947

3948
        /**
3949
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3950
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3951
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
3952
         * documentation.
3953
         */
3954
        public Builder putExtraParam(String key, Object value) {
3955
          if (this.extraParams == null) {
×
3956
            this.extraParams = new HashMap<>();
×
3957
          }
3958
          this.extraParams.put(key, value);
×
3959
          return this;
×
3960
        }
3961

3962
        /**
3963
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3964
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3965
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
3966
         * documentation.
3967
         */
3968
        public Builder putAllExtraParam(Map<String, Object> map) {
3969
          if (this.extraParams == null) {
×
3970
            this.extraParams = new HashMap<>();
×
3971
          }
3972
          this.extraParams.putAll(map);
×
3973
          return this;
×
3974
        }
3975

3976
        /** The list of features enabled in the embedded component. */
3977
        public Builder setFeatures(
3978
            AccountSessionCreateParams.Components.Payouts.Features features) {
3979
          this.features = features;
×
3980
          return this;
×
3981
        }
3982
      }
3983

3984
      @Getter
3985
      public static class Features {
3986
        /**
3987
         * Disables Stripe user authentication for this embedded component. This feature can only be
3988
         * false for accounts where you’re responsible for collecting updated information when
3989
         * requirements are due or change, like custom accounts. The default value for this feature
3990
         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
3991
         * otherwise.
3992
         */
3993
        @SerializedName("disable_stripe_user_authentication")
3994
        Boolean disableStripeUserAuthentication;
3995

3996
        /**
3997
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
3998
         * Loss Liability, default {@code false} otherwise.
3999
         */
4000
        @SerializedName("edit_payout_schedule")
4001
        Boolean editPayoutSchedule;
4002

4003
        /**
4004
         * Whether to allow platforms to control bank account collection for their connected
4005
         * accounts. This feature can only be false for accounts where you’re responsible for
4006
         * collecting updated information when requirements are due or change, like custom accounts.
4007
         * Otherwise, bank account collection is determined by compliance requirements. The default
4008
         * value for this feature is {@code true}.
4009
         */
4010
        @SerializedName("external_account_collection")
4011
        Boolean externalAccountCollection;
4012

4013
        /**
4014
         * Map of extra parameters for custom features not available in this client library. The
4015
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4016
         * Instead, each key/value pair is serialized as if the key is a root-level field
4017
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4018
         * instance.
4019
         */
4020
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4021
        Map<String, Object> extraParams;
4022

4023
        /**
4024
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
4025
         * Liability, default {@code false} otherwise.
4026
         */
4027
        @SerializedName("instant_payouts")
4028
        Boolean instantPayouts;
4029

4030
        /**
4031
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
4032
         * Liability, default {@code false} otherwise.
4033
         */
4034
        @SerializedName("standard_payouts")
4035
        Boolean standardPayouts;
4036

4037
        private Features(
4038
            Boolean disableStripeUserAuthentication,
4039
            Boolean editPayoutSchedule,
4040
            Boolean externalAccountCollection,
4041
            Map<String, Object> extraParams,
4042
            Boolean instantPayouts,
4043
            Boolean standardPayouts) {
×
NEW
4044
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
4045
          this.editPayoutSchedule = editPayoutSchedule;
×
4046
          this.externalAccountCollection = externalAccountCollection;
×
4047
          this.extraParams = extraParams;
×
4048
          this.instantPayouts = instantPayouts;
×
4049
          this.standardPayouts = standardPayouts;
×
4050
        }
×
4051

4052
        public static Builder builder() {
4053
          return new Builder();
×
4054
        }
4055

4056
        public static class Builder {
×
4057
          private Boolean disableStripeUserAuthentication;
4058

4059
          private Boolean editPayoutSchedule;
4060

4061
          private Boolean externalAccountCollection;
4062

4063
          private Map<String, Object> extraParams;
4064

4065
          private Boolean instantPayouts;
4066

4067
          private Boolean standardPayouts;
4068

4069
          /** Finalize and obtain parameter instance from this builder. */
4070
          public AccountSessionCreateParams.Components.Payouts.Features build() {
4071
            return new AccountSessionCreateParams.Components.Payouts.Features(
×
4072
                this.disableStripeUserAuthentication,
4073
                this.editPayoutSchedule,
4074
                this.externalAccountCollection,
4075
                this.extraParams,
4076
                this.instantPayouts,
4077
                this.standardPayouts);
4078
          }
4079

4080
          /**
4081
           * Disables Stripe user authentication for this embedded component. This feature can only
4082
           * be false for accounts where you’re responsible for collecting updated information when
4083
           * requirements are due or change, like custom accounts. The default value for this
4084
           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
4085
           * true} otherwise.
4086
           */
4087
          public Builder setDisableStripeUserAuthentication(
4088
              Boolean disableStripeUserAuthentication) {
NEW
4089
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
4090
            return this;
×
4091
          }
4092

4093
          /**
4094
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4095
           * Loss Liability, default {@code false} otherwise.
4096
           */
4097
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
4098
            this.editPayoutSchedule = editPayoutSchedule;
×
4099
            return this;
×
4100
          }
4101

4102
          /**
4103
           * Whether to allow platforms to control bank account collection for their connected
4104
           * accounts. This feature can only be false for accounts where you’re responsible for
4105
           * collecting updated information when requirements are due or change, like custom
4106
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
4107
           * The default value for this feature is {@code true}.
4108
           */
4109
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
4110
            this.externalAccountCollection = externalAccountCollection;
×
4111
            return this;
×
4112
          }
4113

4114
          /**
4115
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4116
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4117
           * map. See {@link AccountSessionCreateParams.Components.Payouts.Features#extraParams} for
4118
           * the field documentation.
4119
           */
4120
          public Builder putExtraParam(String key, Object value) {
4121
            if (this.extraParams == null) {
×
4122
              this.extraParams = new HashMap<>();
×
4123
            }
4124
            this.extraParams.put(key, value);
×
4125
            return this;
×
4126
          }
4127

4128
          /**
4129
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4130
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4131
           * map. See {@link AccountSessionCreateParams.Components.Payouts.Features#extraParams} for
4132
           * the field documentation.
4133
           */
4134
          public Builder putAllExtraParam(Map<String, Object> map) {
4135
            if (this.extraParams == null) {
×
4136
              this.extraParams = new HashMap<>();
×
4137
            }
4138
            this.extraParams.putAll(map);
×
4139
            return this;
×
4140
          }
4141

4142
          /**
4143
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
4144
           * Loss Liability, default {@code false} otherwise.
4145
           */
4146
          public Builder setInstantPayouts(Boolean instantPayouts) {
4147
            this.instantPayouts = instantPayouts;
×
4148
            return this;
×
4149
          }
4150

4151
          /**
4152
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
4153
           * Loss Liability, default {@code false} otherwise.
4154
           */
4155
          public Builder setStandardPayouts(Boolean standardPayouts) {
4156
            this.standardPayouts = standardPayouts;
×
4157
            return this;
×
4158
          }
4159
        }
4160
      }
4161
    }
4162

4163
    @Getter
4164
    public static class PayoutsList {
4165
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4166
      @SerializedName("enabled")
4167
      Boolean enabled;
4168

4169
      /**
4170
       * Map of extra parameters for custom features not available in this client library. The
4171
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4172
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4173
       * name in this param object. Effectively, this map is flattened to its parent instance.
4174
       */
4175
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4176
      Map<String, Object> extraParams;
4177

4178
      /** The list of features enabled in the embedded component. */
4179
      @SerializedName("features")
4180
      Features features;
4181

4182
      private PayoutsList(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4183
        this.enabled = enabled;
×
4184
        this.extraParams = extraParams;
×
4185
        this.features = features;
×
4186
      }
×
4187

4188
      public static Builder builder() {
4189
        return new Builder();
×
4190
      }
4191

4192
      public static class Builder {
×
4193
        private Boolean enabled;
4194

4195
        private Map<String, Object> extraParams;
4196

4197
        private Features features;
4198

4199
        /** Finalize and obtain parameter instance from this builder. */
4200
        public AccountSessionCreateParams.Components.PayoutsList build() {
4201
          return new AccountSessionCreateParams.Components.PayoutsList(
×
4202
              this.enabled, this.extraParams, this.features);
4203
        }
4204

4205
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4206
        public Builder setEnabled(Boolean enabled) {
4207
          this.enabled = enabled;
×
4208
          return this;
×
4209
        }
4210

4211
        /**
4212
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4213
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4214
         * map. See {@link AccountSessionCreateParams.Components.PayoutsList#extraParams} for the
4215
         * field documentation.
4216
         */
4217
        public Builder putExtraParam(String key, Object value) {
4218
          if (this.extraParams == null) {
×
4219
            this.extraParams = new HashMap<>();
×
4220
          }
4221
          this.extraParams.put(key, value);
×
4222
          return this;
×
4223
        }
4224

4225
        /**
4226
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4227
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4228
         * map. See {@link AccountSessionCreateParams.Components.PayoutsList#extraParams} for the
4229
         * field documentation.
4230
         */
4231
        public Builder putAllExtraParam(Map<String, Object> map) {
4232
          if (this.extraParams == null) {
×
4233
            this.extraParams = new HashMap<>();
×
4234
          }
4235
          this.extraParams.putAll(map);
×
4236
          return this;
×
4237
        }
4238

4239
        /** The list of features enabled in the embedded component. */
4240
        public Builder setFeatures(
4241
            AccountSessionCreateParams.Components.PayoutsList.Features features) {
4242
          this.features = features;
×
4243
          return this;
×
4244
        }
4245
      }
4246

4247
      @Getter
4248
      public static class Features {
4249
        /**
4250
         * Map of extra parameters for custom features not available in this client library. The
4251
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4252
         * Instead, each key/value pair is serialized as if the key is a root-level field
4253
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4254
         * instance.
4255
         */
4256
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4257
        Map<String, Object> extraParams;
4258

4259
        private Features(Map<String, Object> extraParams) {
×
4260
          this.extraParams = extraParams;
×
4261
        }
×
4262

4263
        public static Builder builder() {
4264
          return new Builder();
×
4265
        }
4266

4267
        public static class Builder {
×
4268
          private Map<String, Object> extraParams;
4269

4270
          /** Finalize and obtain parameter instance from this builder. */
4271
          public AccountSessionCreateParams.Components.PayoutsList.Features build() {
4272
            return new AccountSessionCreateParams.Components.PayoutsList.Features(this.extraParams);
×
4273
          }
4274

4275
          /**
4276
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4277
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4278
           * map. See {@link AccountSessionCreateParams.Components.PayoutsList.Features#extraParams}
4279
           * for the field documentation.
4280
           */
4281
          public Builder putExtraParam(String key, Object value) {
4282
            if (this.extraParams == null) {
×
4283
              this.extraParams = new HashMap<>();
×
4284
            }
4285
            this.extraParams.put(key, value);
×
4286
            return this;
×
4287
          }
4288

4289
          /**
4290
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4291
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4292
           * map. See {@link AccountSessionCreateParams.Components.PayoutsList.Features#extraParams}
4293
           * for the field documentation.
4294
           */
4295
          public Builder putAllExtraParam(Map<String, Object> map) {
4296
            if (this.extraParams == null) {
×
4297
              this.extraParams = new HashMap<>();
×
4298
            }
4299
            this.extraParams.putAll(map);
×
4300
            return this;
×
4301
          }
4302
        }
4303
      }
4304
    }
4305

4306
    @Getter
4307
    public static class Recipients {
4308
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4309
      @SerializedName("enabled")
4310
      Boolean enabled;
4311

4312
      /**
4313
       * Map of extra parameters for custom features not available in this client library. The
4314
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4315
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4316
       * name in this param object. Effectively, this map is flattened to its parent instance.
4317
       */
4318
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4319
      Map<String, Object> extraParams;
4320

4321
      /** The list of features enabled in the embedded component. */
4322
      @SerializedName("features")
4323
      Features features;
4324

4325
      private Recipients(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4326
        this.enabled = enabled;
×
4327
        this.extraParams = extraParams;
×
4328
        this.features = features;
×
4329
      }
×
4330

4331
      public static Builder builder() {
4332
        return new Builder();
×
4333
      }
4334

4335
      public static class Builder {
×
4336
        private Boolean enabled;
4337

4338
        private Map<String, Object> extraParams;
4339

4340
        private Features features;
4341

4342
        /** Finalize and obtain parameter instance from this builder. */
4343
        public AccountSessionCreateParams.Components.Recipients build() {
4344
          return new AccountSessionCreateParams.Components.Recipients(
×
4345
              this.enabled, this.extraParams, this.features);
4346
        }
4347

4348
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4349
        public Builder setEnabled(Boolean enabled) {
4350
          this.enabled = enabled;
×
4351
          return this;
×
4352
        }
4353

4354
        /**
4355
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4356
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4357
         * map. See {@link AccountSessionCreateParams.Components.Recipients#extraParams} for the
4358
         * field documentation.
4359
         */
4360
        public Builder putExtraParam(String key, Object value) {
4361
          if (this.extraParams == null) {
×
4362
            this.extraParams = new HashMap<>();
×
4363
          }
4364
          this.extraParams.put(key, value);
×
4365
          return this;
×
4366
        }
4367

4368
        /**
4369
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4370
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4371
         * map. See {@link AccountSessionCreateParams.Components.Recipients#extraParams} for the
4372
         * field documentation.
4373
         */
4374
        public Builder putAllExtraParam(Map<String, Object> map) {
4375
          if (this.extraParams == null) {
×
4376
            this.extraParams = new HashMap<>();
×
4377
          }
4378
          this.extraParams.putAll(map);
×
4379
          return this;
×
4380
        }
4381

4382
        /** The list of features enabled in the embedded component. */
4383
        public Builder setFeatures(
4384
            AccountSessionCreateParams.Components.Recipients.Features features) {
4385
          this.features = features;
×
4386
          return this;
×
4387
        }
4388
      }
4389

4390
      @Getter
4391
      public static class Features {
4392
        /**
4393
         * Map of extra parameters for custom features not available in this client library. The
4394
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4395
         * Instead, each key/value pair is serialized as if the key is a root-level field
4396
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4397
         * instance.
4398
         */
4399
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4400
        Map<String, Object> extraParams;
4401

4402
        private Features(Map<String, Object> extraParams) {
×
4403
          this.extraParams = extraParams;
×
4404
        }
×
4405

4406
        public static Builder builder() {
4407
          return new Builder();
×
4408
        }
4409

4410
        public static class Builder {
×
4411
          private Map<String, Object> extraParams;
4412

4413
          /** Finalize and obtain parameter instance from this builder. */
4414
          public AccountSessionCreateParams.Components.Recipients.Features build() {
4415
            return new AccountSessionCreateParams.Components.Recipients.Features(this.extraParams);
×
4416
          }
4417

4418
          /**
4419
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4420
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4421
           * map. See {@link AccountSessionCreateParams.Components.Recipients.Features#extraParams}
4422
           * for the field documentation.
4423
           */
4424
          public Builder putExtraParam(String key, Object value) {
4425
            if (this.extraParams == null) {
×
4426
              this.extraParams = new HashMap<>();
×
4427
            }
4428
            this.extraParams.put(key, value);
×
4429
            return this;
×
4430
          }
4431

4432
          /**
4433
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4434
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4435
           * map. See {@link AccountSessionCreateParams.Components.Recipients.Features#extraParams}
4436
           * for the field documentation.
4437
           */
4438
          public Builder putAllExtraParam(Map<String, Object> map) {
4439
            if (this.extraParams == null) {
×
4440
              this.extraParams = new HashMap<>();
×
4441
            }
4442
            this.extraParams.putAll(map);
×
4443
            return this;
×
4444
          }
4445
        }
4446
      }
4447
    }
4448

4449
    @Getter
4450
    public static class ReportingChart {
4451
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4452
      @SerializedName("enabled")
4453
      Boolean enabled;
4454

4455
      /**
4456
       * Map of extra parameters for custom features not available in this client library. The
4457
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4458
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4459
       * name in this param object. Effectively, this map is flattened to its parent instance.
4460
       */
4461
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4462
      Map<String, Object> extraParams;
4463

4464
      /** The list of features enabled in the embedded component. */
4465
      @SerializedName("features")
4466
      Features features;
4467

4468
      private ReportingChart(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4469
        this.enabled = enabled;
×
4470
        this.extraParams = extraParams;
×
4471
        this.features = features;
×
4472
      }
×
4473

4474
      public static Builder builder() {
4475
        return new Builder();
×
4476
      }
4477

4478
      public static class Builder {
×
4479
        private Boolean enabled;
4480

4481
        private Map<String, Object> extraParams;
4482

4483
        private Features features;
4484

4485
        /** Finalize and obtain parameter instance from this builder. */
4486
        public AccountSessionCreateParams.Components.ReportingChart build() {
4487
          return new AccountSessionCreateParams.Components.ReportingChart(
×
4488
              this.enabled, this.extraParams, this.features);
4489
        }
4490

4491
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4492
        public Builder setEnabled(Boolean enabled) {
4493
          this.enabled = enabled;
×
4494
          return this;
×
4495
        }
4496

4497
        /**
4498
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4499
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4500
         * map. See {@link AccountSessionCreateParams.Components.ReportingChart#extraParams} for the
4501
         * field documentation.
4502
         */
4503
        public Builder putExtraParam(String key, Object value) {
4504
          if (this.extraParams == null) {
×
4505
            this.extraParams = new HashMap<>();
×
4506
          }
4507
          this.extraParams.put(key, value);
×
4508
          return this;
×
4509
        }
4510

4511
        /**
4512
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4513
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4514
         * map. See {@link AccountSessionCreateParams.Components.ReportingChart#extraParams} for the
4515
         * field documentation.
4516
         */
4517
        public Builder putAllExtraParam(Map<String, Object> map) {
4518
          if (this.extraParams == null) {
×
4519
            this.extraParams = new HashMap<>();
×
4520
          }
4521
          this.extraParams.putAll(map);
×
4522
          return this;
×
4523
        }
4524

4525
        /** The list of features enabled in the embedded component. */
4526
        public Builder setFeatures(
4527
            AccountSessionCreateParams.Components.ReportingChart.Features features) {
4528
          this.features = features;
×
4529
          return this;
×
4530
        }
4531
      }
4532

4533
      @Getter
4534
      public static class Features {
4535
        /**
4536
         * Map of extra parameters for custom features not available in this client library. The
4537
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4538
         * Instead, each key/value pair is serialized as if the key is a root-level field
4539
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4540
         * instance.
4541
         */
4542
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4543
        Map<String, Object> extraParams;
4544

4545
        private Features(Map<String, Object> extraParams) {
×
4546
          this.extraParams = extraParams;
×
4547
        }
×
4548

4549
        public static Builder builder() {
4550
          return new Builder();
×
4551
        }
4552

4553
        public static class Builder {
×
4554
          private Map<String, Object> extraParams;
4555

4556
          /** Finalize and obtain parameter instance from this builder. */
4557
          public AccountSessionCreateParams.Components.ReportingChart.Features build() {
4558
            return new AccountSessionCreateParams.Components.ReportingChart.Features(
×
4559
                this.extraParams);
4560
          }
4561

4562
          /**
4563
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4564
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4565
           * map. See {@link
4566
           * AccountSessionCreateParams.Components.ReportingChart.Features#extraParams} for the
4567
           * field documentation.
4568
           */
4569
          public Builder putExtraParam(String key, Object value) {
4570
            if (this.extraParams == null) {
×
4571
              this.extraParams = new HashMap<>();
×
4572
            }
4573
            this.extraParams.put(key, value);
×
4574
            return this;
×
4575
          }
4576

4577
          /**
4578
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4579
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4580
           * map. See {@link
4581
           * AccountSessionCreateParams.Components.ReportingChart.Features#extraParams} for the
4582
           * field documentation.
4583
           */
4584
          public Builder putAllExtraParam(Map<String, Object> map) {
4585
            if (this.extraParams == null) {
×
4586
              this.extraParams = new HashMap<>();
×
4587
            }
4588
            this.extraParams.putAll(map);
×
4589
            return this;
×
4590
          }
4591
        }
4592
      }
4593
    }
4594

4595
    @Getter
4596
    public static class TaxRegistrations {
4597
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4598
      @SerializedName("enabled")
4599
      Boolean enabled;
4600

4601
      /**
4602
       * Map of extra parameters for custom features not available in this client library. The
4603
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4604
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4605
       * name in this param object. Effectively, this map is flattened to its parent instance.
4606
       */
4607
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4608
      Map<String, Object> extraParams;
4609

4610
      /** The list of features enabled in the embedded component. */
4611
      @SerializedName("features")
4612
      Features features;
4613

4614
      private TaxRegistrations(
4615
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4616
        this.enabled = enabled;
×
4617
        this.extraParams = extraParams;
×
4618
        this.features = features;
×
4619
      }
×
4620

4621
      public static Builder builder() {
4622
        return new Builder();
×
4623
      }
4624

4625
      public static class Builder {
×
4626
        private Boolean enabled;
4627

4628
        private Map<String, Object> extraParams;
4629

4630
        private Features features;
4631

4632
        /** Finalize and obtain parameter instance from this builder. */
4633
        public AccountSessionCreateParams.Components.TaxRegistrations build() {
4634
          return new AccountSessionCreateParams.Components.TaxRegistrations(
×
4635
              this.enabled, this.extraParams, this.features);
4636
        }
4637

4638
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4639
        public Builder setEnabled(Boolean enabled) {
4640
          this.enabled = enabled;
×
4641
          return this;
×
4642
        }
4643

4644
        /**
4645
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4646
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4647
         * map. See {@link AccountSessionCreateParams.Components.TaxRegistrations#extraParams} for
4648
         * the field documentation.
4649
         */
4650
        public Builder putExtraParam(String key, Object value) {
4651
          if (this.extraParams == null) {
×
4652
            this.extraParams = new HashMap<>();
×
4653
          }
4654
          this.extraParams.put(key, value);
×
4655
          return this;
×
4656
        }
4657

4658
        /**
4659
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4660
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4661
         * map. See {@link AccountSessionCreateParams.Components.TaxRegistrations#extraParams} for
4662
         * the field documentation.
4663
         */
4664
        public Builder putAllExtraParam(Map<String, Object> map) {
4665
          if (this.extraParams == null) {
×
4666
            this.extraParams = new HashMap<>();
×
4667
          }
4668
          this.extraParams.putAll(map);
×
4669
          return this;
×
4670
        }
4671

4672
        /** The list of features enabled in the embedded component. */
4673
        public Builder setFeatures(
4674
            AccountSessionCreateParams.Components.TaxRegistrations.Features features) {
4675
          this.features = features;
×
4676
          return this;
×
4677
        }
4678
      }
4679

4680
      @Getter
4681
      public static class Features {
4682
        /**
4683
         * Map of extra parameters for custom features not available in this client library. The
4684
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4685
         * Instead, each key/value pair is serialized as if the key is a root-level field
4686
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4687
         * instance.
4688
         */
4689
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4690
        Map<String, Object> extraParams;
4691

4692
        private Features(Map<String, Object> extraParams) {
×
4693
          this.extraParams = extraParams;
×
4694
        }
×
4695

4696
        public static Builder builder() {
4697
          return new Builder();
×
4698
        }
4699

4700
        public static class Builder {
×
4701
          private Map<String, Object> extraParams;
4702

4703
          /** Finalize and obtain parameter instance from this builder. */
4704
          public AccountSessionCreateParams.Components.TaxRegistrations.Features build() {
4705
            return new AccountSessionCreateParams.Components.TaxRegistrations.Features(
×
4706
                this.extraParams);
4707
          }
4708

4709
          /**
4710
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4711
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4712
           * map. See {@link
4713
           * AccountSessionCreateParams.Components.TaxRegistrations.Features#extraParams} for the
4714
           * field documentation.
4715
           */
4716
          public Builder putExtraParam(String key, Object value) {
4717
            if (this.extraParams == null) {
×
4718
              this.extraParams = new HashMap<>();
×
4719
            }
4720
            this.extraParams.put(key, value);
×
4721
            return this;
×
4722
          }
4723

4724
          /**
4725
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4726
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4727
           * map. See {@link
4728
           * AccountSessionCreateParams.Components.TaxRegistrations.Features#extraParams} for the
4729
           * field documentation.
4730
           */
4731
          public Builder putAllExtraParam(Map<String, Object> map) {
4732
            if (this.extraParams == null) {
×
4733
              this.extraParams = new HashMap<>();
×
4734
            }
4735
            this.extraParams.putAll(map);
×
4736
            return this;
×
4737
          }
4738
        }
4739
      }
4740
    }
4741

4742
    @Getter
4743
    public static class TaxSettings {
4744
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4745
      @SerializedName("enabled")
4746
      Boolean enabled;
4747

4748
      /**
4749
       * Map of extra parameters for custom features not available in this client library. The
4750
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4751
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4752
       * name in this param object. Effectively, this map is flattened to its parent instance.
4753
       */
4754
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4755
      Map<String, Object> extraParams;
4756

4757
      /** The list of features enabled in the embedded component. */
4758
      @SerializedName("features")
4759
      Features features;
4760

4761
      private TaxSettings(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4762
        this.enabled = enabled;
×
4763
        this.extraParams = extraParams;
×
4764
        this.features = features;
×
4765
      }
×
4766

4767
      public static Builder builder() {
4768
        return new Builder();
×
4769
      }
4770

4771
      public static class Builder {
×
4772
        private Boolean enabled;
4773

4774
        private Map<String, Object> extraParams;
4775

4776
        private Features features;
4777

4778
        /** Finalize and obtain parameter instance from this builder. */
4779
        public AccountSessionCreateParams.Components.TaxSettings build() {
4780
          return new AccountSessionCreateParams.Components.TaxSettings(
×
4781
              this.enabled, this.extraParams, this.features);
4782
        }
4783

4784
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4785
        public Builder setEnabled(Boolean enabled) {
4786
          this.enabled = enabled;
×
4787
          return this;
×
4788
        }
4789

4790
        /**
4791
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4792
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4793
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4794
         * field documentation.
4795
         */
4796
        public Builder putExtraParam(String key, Object value) {
4797
          if (this.extraParams == null) {
×
4798
            this.extraParams = new HashMap<>();
×
4799
          }
4800
          this.extraParams.put(key, value);
×
4801
          return this;
×
4802
        }
4803

4804
        /**
4805
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4806
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4807
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4808
         * field documentation.
4809
         */
4810
        public Builder putAllExtraParam(Map<String, Object> map) {
4811
          if (this.extraParams == null) {
×
4812
            this.extraParams = new HashMap<>();
×
4813
          }
4814
          this.extraParams.putAll(map);
×
4815
          return this;
×
4816
        }
4817

4818
        /** The list of features enabled in the embedded component. */
4819
        public Builder setFeatures(
4820
            AccountSessionCreateParams.Components.TaxSettings.Features features) {
4821
          this.features = features;
×
4822
          return this;
×
4823
        }
4824
      }
4825

4826
      @Getter
4827
      public static class Features {
4828
        /**
4829
         * Map of extra parameters for custom features not available in this client library. The
4830
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4831
         * Instead, each key/value pair is serialized as if the key is a root-level field
4832
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4833
         * instance.
4834
         */
4835
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4836
        Map<String, Object> extraParams;
4837

4838
        private Features(Map<String, Object> extraParams) {
×
4839
          this.extraParams = extraParams;
×
4840
        }
×
4841

4842
        public static Builder builder() {
4843
          return new Builder();
×
4844
        }
4845

4846
        public static class Builder {
×
4847
          private Map<String, Object> extraParams;
4848

4849
          /** Finalize and obtain parameter instance from this builder. */
4850
          public AccountSessionCreateParams.Components.TaxSettings.Features build() {
4851
            return new AccountSessionCreateParams.Components.TaxSettings.Features(this.extraParams);
×
4852
          }
4853

4854
          /**
4855
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4856
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4857
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4858
           * for the field documentation.
4859
           */
4860
          public Builder putExtraParam(String key, Object value) {
4861
            if (this.extraParams == null) {
×
4862
              this.extraParams = new HashMap<>();
×
4863
            }
4864
            this.extraParams.put(key, value);
×
4865
            return this;
×
4866
          }
4867

4868
          /**
4869
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4870
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4871
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4872
           * for the field documentation.
4873
           */
4874
          public Builder putAllExtraParam(Map<String, Object> map) {
4875
            if (this.extraParams == null) {
×
4876
              this.extraParams = new HashMap<>();
×
4877
            }
4878
            this.extraParams.putAll(map);
×
4879
            return this;
×
4880
          }
4881
        }
4882
      }
4883
    }
4884
  }
4885
}
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