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

stripe / stripe-java / #16599

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

push

github

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

Update generated code for beta

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

19 existing lines in 15 files now uncovered.

18843 of 150513 relevant lines covered (12.52%)

0.13 hits per line

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

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
    /** Configuration for the recipients component. */
228
    @SerializedName("recipients")
229
    Recipients recipients;
230

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

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

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

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

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

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

303
      private AccountOnboarding accountOnboarding;
304

305
      private AppInstall appInstall;
306

307
      private AppViewport appViewport;
308

309
      private Balances balances;
310

311
      private CapitalFinancing capitalFinancing;
312

313
      private CapitalFinancingApplication capitalFinancingApplication;
314

315
      private CapitalFinancingPromotion capitalFinancingPromotion;
316

317
      private CapitalOverview capitalOverview;
318

319
      private Documents documents;
320

321
      private Map<String, Object> extraParams;
322

323
      private FinancialAccount financialAccount;
324

325
      private FinancialAccountTransactions financialAccountTransactions;
326

327
      private IssuingCard issuingCard;
328

329
      private IssuingCardsList issuingCardsList;
330

331
      private NotificationBanner notificationBanner;
332

333
      private PaymentDetails paymentDetails;
334

335
      private PaymentMethodSettings paymentMethodSettings;
336

337
      private Payments payments;
338

339
      private Payouts payouts;
340

341
      private PayoutsList payoutsList;
342

343
      private Recipients recipients;
344

345
      private ReportingChart reportingChart;
346

347
      private TaxRegistrations taxRegistrations;
348

349
      private TaxSettings taxSettings;
350

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

542
      /** Configuration for the recipients component. */
543
      public Builder setRecipients(AccountSessionCreateParams.Components.Recipients recipients) {
544
        this.recipients = recipients;
×
545
        return this;
×
546
      }
547

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

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

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

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

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

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

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

595
      public static Builder builder() {
596
        return new Builder();
×
597
      }
598

599
      public static class Builder {
×
600
        private Boolean enabled;
601

602
        private Map<String, Object> extraParams;
603

604
        private Features features;
605

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

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

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

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

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

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

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

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

686
        private Features(
687
            Boolean disableStripeUserAuthentication,
688
            Boolean externalAccountCollection,
689
            Map<String, Object> extraParams) {
×
690
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
691
          this.externalAccountCollection = externalAccountCollection;
×
692
          this.extraParams = extraParams;
×
693
        }
×
694

695
        public static Builder builder() {
696
          return new Builder();
×
697
        }
698

699
        public static class Builder {
×
700
          private Boolean disableStripeUserAuthentication;
701

702
          private Boolean externalAccountCollection;
703

704
          private Map<String, Object> extraParams;
705

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

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

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

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

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

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

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

787
      /** The list of features enabled in the embedded component. */
788
      @SerializedName("features")
789
      Features features;
790

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

798
      public static Builder builder() {
799
        return new Builder();
×
800
      }
801

802
      public static class Builder {
×
803
        private Boolean enabled;
804

805
        private Map<String, Object> extraParams;
806

807
        private Features features;
808

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

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

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

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

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

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

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

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

889
        private Features(
890
            Boolean disableStripeUserAuthentication,
891
            Boolean externalAccountCollection,
892
            Map<String, Object> extraParams) {
×
893
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
894
          this.externalAccountCollection = externalAccountCollection;
×
895
          this.extraParams = extraParams;
×
896
        }
×
897

898
        public static Builder builder() {
899
          return new Builder();
×
900
        }
901

902
        public static class Builder {
×
903
          private Boolean disableStripeUserAuthentication;
904

905
          private Boolean externalAccountCollection;
906

907
          private Map<String, Object> extraParams;
908

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

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

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

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

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

975
    @Getter
976
    public static class AppInstall {
977
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
978
      @SerializedName("enabled")
979
      Boolean enabled;
980

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

990
      /** The list of features enabled in the embedded component. */
991
      @SerializedName("features")
992
      Features features;
993

994
      private AppInstall(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
995
        this.enabled = enabled;
×
996
        this.extraParams = extraParams;
×
997
        this.features = features;
×
998
      }
×
999

1000
      public static Builder builder() {
1001
        return new Builder();
×
1002
      }
1003

1004
      public static class Builder {
×
1005
        private Boolean enabled;
1006

1007
        private Map<String, Object> extraParams;
1008

1009
        private Features features;
1010

1011
        /** Finalize and obtain parameter instance from this builder. */
1012
        public AccountSessionCreateParams.Components.AppInstall build() {
1013
          return new AccountSessionCreateParams.Components.AppInstall(
×
1014
              this.enabled, this.extraParams, this.features);
1015
        }
1016

1017
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1018
        public Builder setEnabled(Boolean enabled) {
1019
          this.enabled = enabled;
×
1020
          return this;
×
1021
        }
1022

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

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

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

1059
      @Getter
1060
      public static class Features {
1061
        /** List of apps allowed to be enabled for this account session. */
1062
        @SerializedName("allowed_apps")
1063
        Object allowedApps;
1064

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

1075
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1076
          this.allowedApps = allowedApps;
×
1077
          this.extraParams = extraParams;
×
1078
        }
×
1079

1080
        public static Builder builder() {
1081
          return new Builder();
×
1082
        }
1083

1084
        public static class Builder {
×
1085
          private Object allowedApps;
1086

1087
          private Map<String, Object> extraParams;
1088

1089
          /** Finalize and obtain parameter instance from this builder. */
1090
          public AccountSessionCreateParams.Components.AppInstall.Features build() {
1091
            return new AccountSessionCreateParams.Components.AppInstall.Features(
×
1092
                this.allowedApps, this.extraParams);
1093
          }
1094

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

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

1125
          /** List of apps allowed to be enabled for this account session. */
1126
          public Builder setAllowedApps(EmptyParam allowedApps) {
1127
            this.allowedApps = allowedApps;
×
1128
            return this;
×
1129
          }
1130

1131
          /** List of apps allowed to be enabled for this account session. */
1132
          public Builder setAllowedApps(List<String> allowedApps) {
1133
            this.allowedApps = allowedApps;
×
1134
            return this;
×
1135
          }
1136

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

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

1168
    @Getter
1169
    public static class AppViewport {
1170
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1171
      @SerializedName("enabled")
1172
      Boolean enabled;
1173

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

1183
      /** The list of features enabled in the embedded component. */
1184
      @SerializedName("features")
1185
      Features features;
1186

1187
      private AppViewport(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1188
        this.enabled = enabled;
×
1189
        this.extraParams = extraParams;
×
1190
        this.features = features;
×
1191
      }
×
1192

1193
      public static Builder builder() {
1194
        return new Builder();
×
1195
      }
1196

1197
      public static class Builder {
×
1198
        private Boolean enabled;
1199

1200
        private Map<String, Object> extraParams;
1201

1202
        private Features features;
1203

1204
        /** Finalize and obtain parameter instance from this builder. */
1205
        public AccountSessionCreateParams.Components.AppViewport build() {
1206
          return new AccountSessionCreateParams.Components.AppViewport(
×
1207
              this.enabled, this.extraParams, this.features);
1208
        }
1209

1210
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1211
        public Builder setEnabled(Boolean enabled) {
1212
          this.enabled = enabled;
×
1213
          return this;
×
1214
        }
1215

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

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

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

1252
      @Getter
1253
      public static class Features {
1254
        /** List of apps allowed to be enabled for this account session. */
1255
        @SerializedName("allowed_apps")
1256
        Object allowedApps;
1257

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

1268
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1269
          this.allowedApps = allowedApps;
×
1270
          this.extraParams = extraParams;
×
1271
        }
×
1272

1273
        public static Builder builder() {
1274
          return new Builder();
×
1275
        }
1276

1277
        public static class Builder {
×
1278
          private Object allowedApps;
1279

1280
          private Map<String, Object> extraParams;
1281

1282
          /** Finalize and obtain parameter instance from this builder. */
1283
          public AccountSessionCreateParams.Components.AppViewport.Features build() {
1284
            return new AccountSessionCreateParams.Components.AppViewport.Features(
×
1285
                this.allowedApps, this.extraParams);
1286
          }
1287

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

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

1318
          /** List of apps allowed to be enabled for this account session. */
1319
          public Builder setAllowedApps(EmptyParam allowedApps) {
1320
            this.allowedApps = allowedApps;
×
1321
            return this;
×
1322
          }
1323

1324
          /** List of apps allowed to be enabled for this account session. */
1325
          public Builder setAllowedApps(List<String> allowedApps) {
1326
            this.allowedApps = allowedApps;
×
1327
            return this;
×
1328
          }
1329

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

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

1361
    @Getter
1362
    public static class Balances {
1363
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1364
      @SerializedName("enabled")
1365
      Boolean enabled;
1366

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

1376
      /** The list of features enabled in the embedded component. */
1377
      @SerializedName("features")
1378
      Features features;
1379

1380
      private Balances(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1381
        this.enabled = enabled;
×
1382
        this.extraParams = extraParams;
×
1383
        this.features = features;
×
1384
      }
×
1385

1386
      public static Builder builder() {
1387
        return new Builder();
×
1388
      }
1389

1390
      public static class Builder {
×
1391
        private Boolean enabled;
1392

1393
        private Map<String, Object> extraParams;
1394

1395
        private Features features;
1396

1397
        /** Finalize and obtain parameter instance from this builder. */
1398
        public AccountSessionCreateParams.Components.Balances build() {
1399
          return new AccountSessionCreateParams.Components.Balances(
×
1400
              this.enabled, this.extraParams, this.features);
1401
        }
1402

1403
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1404
        public Builder setEnabled(Boolean enabled) {
1405
          this.enabled = enabled;
×
1406
          return this;
×
1407
        }
1408

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

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

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

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

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

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

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

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

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

1498
        private Features(
1499
            Boolean disableStripeUserAuthentication,
1500
            Boolean editPayoutSchedule,
1501
            Boolean externalAccountCollection,
1502
            Map<String, Object> extraParams,
1503
            Boolean instantPayouts,
1504
            Boolean standardPayouts) {
×
1505
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
1506
          this.editPayoutSchedule = editPayoutSchedule;
×
1507
          this.externalAccountCollection = externalAccountCollection;
×
1508
          this.extraParams = extraParams;
×
1509
          this.instantPayouts = instantPayouts;
×
1510
          this.standardPayouts = standardPayouts;
×
1511
        }
×
1512

1513
        public static Builder builder() {
1514
          return new Builder();
×
1515
        }
1516

1517
        public static class Builder {
×
1518
          private Boolean disableStripeUserAuthentication;
1519

1520
          private Boolean editPayoutSchedule;
1521

1522
          private Boolean externalAccountCollection;
1523

1524
          private Map<String, Object> extraParams;
1525

1526
          private Boolean instantPayouts;
1527

1528
          private Boolean standardPayouts;
1529

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

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

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

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

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

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

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

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

1624
    @Getter
1625
    public static class CapitalFinancing {
1626
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1627
      @SerializedName("enabled")
1628
      Boolean enabled;
1629

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

1639
      /** The list of features enabled in the embedded component. */
1640
      @SerializedName("features")
1641
      Features features;
1642

1643
      private CapitalFinancing(
1644
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1645
        this.enabled = enabled;
×
1646
        this.extraParams = extraParams;
×
1647
        this.features = features;
×
1648
      }
×
1649

1650
      public static Builder builder() {
1651
        return new Builder();
×
1652
      }
1653

1654
      public static class Builder {
×
1655
        private Boolean enabled;
1656

1657
        private Map<String, Object> extraParams;
1658

1659
        private Features features;
1660

1661
        /** Finalize and obtain parameter instance from this builder. */
1662
        public AccountSessionCreateParams.Components.CapitalFinancing build() {
1663
          return new AccountSessionCreateParams.Components.CapitalFinancing(
×
1664
              this.enabled, this.extraParams, this.features);
1665
        }
1666

1667
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1668
        public Builder setEnabled(Boolean enabled) {
1669
          this.enabled = enabled;
×
1670
          return this;
×
1671
        }
1672

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

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

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

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

1721
        private Features(Map<String, Object> extraParams) {
×
1722
          this.extraParams = extraParams;
×
1723
        }
×
1724

1725
        public static Builder builder() {
1726
          return new Builder();
×
1727
        }
1728

1729
        public static class Builder {
×
1730
          private Map<String, Object> extraParams;
1731

1732
          /** Finalize and obtain parameter instance from this builder. */
1733
          public AccountSessionCreateParams.Components.CapitalFinancing.Features build() {
1734
            return new AccountSessionCreateParams.Components.CapitalFinancing.Features(
×
1735
                this.extraParams);
1736
          }
1737

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

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

1771
    @Getter
1772
    public static class CapitalFinancingApplication {
1773
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1774
      @SerializedName("enabled")
1775
      Boolean enabled;
1776

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

1786
      /** The list of features enabled in the embedded component. */
1787
      @SerializedName("features")
1788
      Features features;
1789

1790
      private CapitalFinancingApplication(
1791
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1792
        this.enabled = enabled;
×
1793
        this.extraParams = extraParams;
×
1794
        this.features = features;
×
1795
      }
×
1796

1797
      public static Builder builder() {
1798
        return new Builder();
×
1799
      }
1800

1801
      public static class Builder {
×
1802
        private Boolean enabled;
1803

1804
        private Map<String, Object> extraParams;
1805

1806
        private Features features;
1807

1808
        /** Finalize and obtain parameter instance from this builder. */
1809
        public AccountSessionCreateParams.Components.CapitalFinancingApplication build() {
1810
          return new AccountSessionCreateParams.Components.CapitalFinancingApplication(
×
1811
              this.enabled, this.extraParams, this.features);
1812
        }
1813

1814
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1815
        public Builder setEnabled(Boolean enabled) {
1816
          this.enabled = enabled;
×
1817
          return this;
×
1818
        }
1819

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

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

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

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

1870
        private Features(Map<String, Object> extraParams) {
×
1871
          this.extraParams = extraParams;
×
1872
        }
×
1873

1874
        public static Builder builder() {
1875
          return new Builder();
×
1876
        }
1877

1878
        public static class Builder {
×
1879
          private Map<String, Object> extraParams;
1880

1881
          /** Finalize and obtain parameter instance from this builder. */
1882
          public AccountSessionCreateParams.Components.CapitalFinancingApplication.Features
1883
              build() {
1884
            return new AccountSessionCreateParams.Components.CapitalFinancingApplication.Features(
×
1885
                this.extraParams);
1886
          }
1887

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

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

1921
    @Getter
1922
    public static class CapitalFinancingPromotion {
1923
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1924
      @SerializedName("enabled")
1925
      Boolean enabled;
1926

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

1936
      /** The list of features enabled in the embedded component. */
1937
      @SerializedName("features")
1938
      Features features;
1939

1940
      private CapitalFinancingPromotion(
1941
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1942
        this.enabled = enabled;
×
1943
        this.extraParams = extraParams;
×
1944
        this.features = features;
×
1945
      }
×
1946

1947
      public static Builder builder() {
1948
        return new Builder();
×
1949
      }
1950

1951
      public static class Builder {
×
1952
        private Boolean enabled;
1953

1954
        private Map<String, Object> extraParams;
1955

1956
        private Features features;
1957

1958
        /** Finalize and obtain parameter instance from this builder. */
1959
        public AccountSessionCreateParams.Components.CapitalFinancingPromotion build() {
1960
          return new AccountSessionCreateParams.Components.CapitalFinancingPromotion(
×
1961
              this.enabled, this.extraParams, this.features);
1962
        }
1963

1964
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1965
        public Builder setEnabled(Boolean enabled) {
1966
          this.enabled = enabled;
×
1967
          return this;
×
1968
        }
1969

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

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

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

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

2020
        private Features(Map<String, Object> extraParams) {
×
2021
          this.extraParams = extraParams;
×
2022
        }
×
2023

2024
        public static Builder builder() {
2025
          return new Builder();
×
2026
        }
2027

2028
        public static class Builder {
×
2029
          private Map<String, Object> extraParams;
2030

2031
          /** Finalize and obtain parameter instance from this builder. */
2032
          public AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features build() {
2033
            return new AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features(
×
2034
                this.extraParams);
2035
          }
2036

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

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

2070
    @Getter
2071
    public static class CapitalOverview {
2072
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2073
      @SerializedName("enabled")
2074
      Boolean enabled;
2075

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

2085
      /** The list of features enabled in the embedded component. */
2086
      @SerializedName("features")
2087
      Features features;
2088

2089
      private CapitalOverview(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2090
        this.enabled = enabled;
×
2091
        this.extraParams = extraParams;
×
2092
        this.features = features;
×
2093
      }
×
2094

2095
      public static Builder builder() {
2096
        return new Builder();
×
2097
      }
2098

2099
      public static class Builder {
×
2100
        private Boolean enabled;
2101

2102
        private Map<String, Object> extraParams;
2103

2104
        private Features features;
2105

2106
        /** Finalize and obtain parameter instance from this builder. */
2107
        public AccountSessionCreateParams.Components.CapitalOverview build() {
2108
          return new AccountSessionCreateParams.Components.CapitalOverview(
×
2109
              this.enabled, this.extraParams, this.features);
2110
        }
2111

2112
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2113
        public Builder setEnabled(Boolean enabled) {
2114
          this.enabled = enabled;
×
2115
          return this;
×
2116
        }
2117

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

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

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

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

2166
        private Features(Map<String, Object> extraParams) {
×
2167
          this.extraParams = extraParams;
×
2168
        }
×
2169

2170
        public static Builder builder() {
2171
          return new Builder();
×
2172
        }
2173

2174
        public static class Builder {
×
2175
          private Map<String, Object> extraParams;
2176

2177
          /** Finalize and obtain parameter instance from this builder. */
2178
          public AccountSessionCreateParams.Components.CapitalOverview.Features build() {
2179
            return new AccountSessionCreateParams.Components.CapitalOverview.Features(
×
2180
                this.extraParams);
2181
          }
2182

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

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

2216
    @Getter
2217
    public static class Documents {
2218
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2219
      @SerializedName("enabled")
2220
      Boolean enabled;
2221

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

2231
      /** The list of features enabled in the embedded component. */
2232
      @SerializedName("features")
2233
      Features features;
2234

2235
      private Documents(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2236
        this.enabled = enabled;
×
2237
        this.extraParams = extraParams;
×
2238
        this.features = features;
×
2239
      }
×
2240

2241
      public static Builder builder() {
2242
        return new Builder();
×
2243
      }
2244

2245
      public static class Builder {
×
2246
        private Boolean enabled;
2247

2248
        private Map<String, Object> extraParams;
2249

2250
        private Features features;
2251

2252
        /** Finalize and obtain parameter instance from this builder. */
2253
        public AccountSessionCreateParams.Components.Documents build() {
2254
          return new AccountSessionCreateParams.Components.Documents(
×
2255
              this.enabled, this.extraParams, this.features);
2256
        }
2257

2258
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2259
        public Builder setEnabled(Boolean enabled) {
2260
          this.enabled = enabled;
×
2261
          return this;
×
2262
        }
2263

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

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

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

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

2312
        private Features(Map<String, Object> extraParams) {
×
2313
          this.extraParams = extraParams;
×
2314
        }
×
2315

2316
        public static Builder builder() {
2317
          return new Builder();
×
2318
        }
2319

2320
        public static class Builder {
×
2321
          private Map<String, Object> extraParams;
2322

2323
          /** Finalize and obtain parameter instance from this builder. */
2324
          public AccountSessionCreateParams.Components.Documents.Features build() {
2325
            return new AccountSessionCreateParams.Components.Documents.Features(this.extraParams);
×
2326
          }
2327

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

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

2359
    @Getter
2360
    public static class FinancialAccount {
2361
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2362
      @SerializedName("enabled")
2363
      Boolean enabled;
2364

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

2374
      /** The list of features enabled in the embedded component. */
2375
      @SerializedName("features")
2376
      Features features;
2377

2378
      private FinancialAccount(
2379
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2380
        this.enabled = enabled;
×
2381
        this.extraParams = extraParams;
×
2382
        this.features = features;
×
2383
      }
×
2384

2385
      public static Builder builder() {
2386
        return new Builder();
×
2387
      }
2388

2389
      public static class Builder {
×
2390
        private Boolean enabled;
2391

2392
        private Map<String, Object> extraParams;
2393

2394
        private Features features;
2395

2396
        /** Finalize and obtain parameter instance from this builder. */
2397
        public AccountSessionCreateParams.Components.FinancialAccount build() {
2398
          return new AccountSessionCreateParams.Components.FinancialAccount(
×
2399
              this.enabled, this.extraParams, this.features);
2400
        }
2401

2402
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2403
        public Builder setEnabled(Boolean enabled) {
2404
          this.enabled = enabled;
×
2405
          return this;
×
2406
        }
2407

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

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

2436
        /** The list of features enabled in the embedded component. */
2437
        public Builder setFeatures(
2438
            AccountSessionCreateParams.Components.FinancialAccount.Features features) {
2439
          this.features = features;
×
2440
          return this;
×
2441
        }
2442
      }
2443

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

2456
        /** Whether to allow external accounts to be linked for money transfer. */
2457
        @SerializedName("external_account_collection")
2458
        Boolean externalAccountCollection;
2459

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

2470
        /** Whether to allow money movement features. */
2471
        @SerializedName("money_movement")
2472
        Boolean moneyMovement;
2473

2474
        /** Whether to allow sending money. */
2475
        @SerializedName("send_money")
2476
        Boolean sendMoney;
2477

2478
        /** Whether to allow transferring balance. */
2479
        @SerializedName("transfer_balance")
2480
        Boolean transferBalance;
2481

2482
        private Features(
2483
            Boolean disableStripeUserAuthentication,
2484
            Boolean externalAccountCollection,
2485
            Map<String, Object> extraParams,
2486
            Boolean moneyMovement,
2487
            Boolean sendMoney,
2488
            Boolean transferBalance) {
×
2489
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
2490
          this.externalAccountCollection = externalAccountCollection;
×
2491
          this.extraParams = extraParams;
×
2492
          this.moneyMovement = moneyMovement;
×
2493
          this.sendMoney = sendMoney;
×
2494
          this.transferBalance = transferBalance;
×
2495
        }
×
2496

2497
        public static Builder builder() {
2498
          return new Builder();
×
2499
        }
2500

2501
        public static class Builder {
×
2502
          private Boolean disableStripeUserAuthentication;
2503

2504
          private Boolean externalAccountCollection;
2505

2506
          private Map<String, Object> extraParams;
2507

2508
          private Boolean moneyMovement;
2509

2510
          private Boolean sendMoney;
2511

2512
          private Boolean transferBalance;
2513

2514
          /** Finalize and obtain parameter instance from this builder. */
2515
          public AccountSessionCreateParams.Components.FinancialAccount.Features build() {
2516
            return new AccountSessionCreateParams.Components.FinancialAccount.Features(
×
2517
                this.disableStripeUserAuthentication,
2518
                this.externalAccountCollection,
2519
                this.extraParams,
2520
                this.moneyMovement,
2521
                this.sendMoney,
2522
                this.transferBalance);
2523
          }
2524

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

2538
          /** Whether to allow external accounts to be linked for money transfer. */
2539
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
2540
            this.externalAccountCollection = externalAccountCollection;
×
2541
            return this;
×
2542
          }
2543

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

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

2574
          /** Whether to allow money movement features. */
2575
          public Builder setMoneyMovement(Boolean moneyMovement) {
2576
            this.moneyMovement = moneyMovement;
×
2577
            return this;
×
2578
          }
2579

2580
          /** Whether to allow sending money. */
2581
          public Builder setSendMoney(Boolean sendMoney) {
2582
            this.sendMoney = sendMoney;
×
2583
            return this;
×
2584
          }
2585

2586
          /** Whether to allow transferring balance. */
2587
          public Builder setTransferBalance(Boolean transferBalance) {
2588
            this.transferBalance = transferBalance;
×
2589
            return this;
×
2590
          }
2591
        }
2592
      }
2593
    }
2594

2595
    @Getter
2596
    public static class FinancialAccountTransactions {
2597
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2598
      @SerializedName("enabled")
2599
      Boolean enabled;
2600

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

2610
      @SerializedName("features")
2611
      Features features;
2612

2613
      private FinancialAccountTransactions(
2614
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2615
        this.enabled = enabled;
×
2616
        this.extraParams = extraParams;
×
2617
        this.features = features;
×
2618
      }
×
2619

2620
      public static Builder builder() {
2621
        return new Builder();
×
2622
      }
2623

2624
      public static class Builder {
×
2625
        private Boolean enabled;
2626

2627
        private Map<String, Object> extraParams;
2628

2629
        private Features features;
2630

2631
        /** Finalize and obtain parameter instance from this builder. */
2632
        public AccountSessionCreateParams.Components.FinancialAccountTransactions build() {
2633
          return new AccountSessionCreateParams.Components.FinancialAccountTransactions(
×
2634
              this.enabled, this.extraParams, this.features);
2635
        }
2636

2637
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2638
        public Builder setEnabled(Boolean enabled) {
2639
          this.enabled = enabled;
×
2640
          return this;
×
2641
        }
2642

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

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

2673
        public Builder setFeatures(
2674
            AccountSessionCreateParams.Components.FinancialAccountTransactions.Features features) {
2675
          this.features = features;
×
2676
          return this;
×
2677
        }
2678
      }
2679

2680
      @Getter
2681
      public static class Features {
2682
        /** Whether to allow card spend dispute management features. */
2683
        @SerializedName("card_spend_dispute_management")
2684
        Boolean cardSpendDisputeManagement;
2685

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

2696
        private Features(Boolean cardSpendDisputeManagement, Map<String, Object> extraParams) {
×
2697
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2698
          this.extraParams = extraParams;
×
2699
        }
×
2700

2701
        public static Builder builder() {
2702
          return new Builder();
×
2703
        }
2704

2705
        public static class Builder {
×
2706
          private Boolean cardSpendDisputeManagement;
2707

2708
          private Map<String, Object> extraParams;
2709

2710
          /** Finalize and obtain parameter instance from this builder. */
2711
          public AccountSessionCreateParams.Components.FinancialAccountTransactions.Features
2712
              build() {
2713
            return new AccountSessionCreateParams.Components.FinancialAccountTransactions.Features(
×
2714
                this.cardSpendDisputeManagement, this.extraParams);
2715
          }
2716

2717
          /** Whether to allow card spend dispute management features. */
2718
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
2719
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2720
            return this;
×
2721
          }
2722

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

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

2756
    @Getter
2757
    public static class IssuingCard {
2758
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2759
      @SerializedName("enabled")
2760
      Boolean enabled;
2761

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

2771
      /** The list of features enabled in the embedded component. */
2772
      @SerializedName("features")
2773
      Features features;
2774

2775
      private IssuingCard(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2776
        this.enabled = enabled;
×
2777
        this.extraParams = extraParams;
×
2778
        this.features = features;
×
2779
      }
×
2780

2781
      public static Builder builder() {
2782
        return new Builder();
×
2783
      }
2784

2785
      public static class Builder {
×
2786
        private Boolean enabled;
2787

2788
        private Map<String, Object> extraParams;
2789

2790
        private Features features;
2791

2792
        /** Finalize and obtain parameter instance from this builder. */
2793
        public AccountSessionCreateParams.Components.IssuingCard build() {
2794
          return new AccountSessionCreateParams.Components.IssuingCard(
×
2795
              this.enabled, this.extraParams, this.features);
2796
        }
2797

2798
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2799
        public Builder setEnabled(Boolean enabled) {
2800
          this.enabled = enabled;
×
2801
          return this;
×
2802
        }
2803

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

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

2832
        /** The list of features enabled in the embedded component. */
2833
        public Builder setFeatures(
2834
            AccountSessionCreateParams.Components.IssuingCard.Features features) {
2835
          this.features = features;
×
2836
          return this;
×
2837
        }
2838
      }
2839

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

2852
        private Features(Map<String, Object> extraParams) {
×
2853
          this.extraParams = extraParams;
×
2854
        }
×
2855

2856
        public static Builder builder() {
2857
          return new Builder();
×
2858
        }
2859

2860
        public static class Builder {
×
2861
          private Map<String, Object> extraParams;
2862

2863
          /** Finalize and obtain parameter instance from this builder. */
2864
          public AccountSessionCreateParams.Components.IssuingCard.Features build() {
2865
            return new AccountSessionCreateParams.Components.IssuingCard.Features(this.extraParams);
×
2866
          }
2867

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

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

2899
    @Getter
2900
    public static class IssuingCardsList {
2901
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2902
      @SerializedName("enabled")
2903
      Boolean enabled;
2904

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

2914
      /** The list of features enabled in the embedded component. */
2915
      @SerializedName("features")
2916
      Features features;
2917

2918
      private IssuingCardsList(
2919
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2920
        this.enabled = enabled;
×
2921
        this.extraParams = extraParams;
×
2922
        this.features = features;
×
2923
      }
×
2924

2925
      public static Builder builder() {
2926
        return new Builder();
×
2927
      }
2928

2929
      public static class Builder {
×
2930
        private Boolean enabled;
2931

2932
        private Map<String, Object> extraParams;
2933

2934
        private Features features;
2935

2936
        /** Finalize and obtain parameter instance from this builder. */
2937
        public AccountSessionCreateParams.Components.IssuingCardsList build() {
2938
          return new AccountSessionCreateParams.Components.IssuingCardsList(
×
2939
              this.enabled, this.extraParams, this.features);
2940
        }
2941

2942
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2943
        public Builder setEnabled(Boolean enabled) {
2944
          this.enabled = enabled;
×
2945
          return this;
×
2946
        }
2947

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

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

2976
        /** The list of features enabled in the embedded component. */
2977
        public Builder setFeatures(
2978
            AccountSessionCreateParams.Components.IssuingCardsList.Features features) {
2979
          this.features = features;
×
2980
          return this;
×
2981
        }
2982
      }
2983

2984
      @Getter
2985
      public static class Features {
2986
        /** Whether to allow card management features. */
2987
        @SerializedName("card_management")
2988
        Boolean cardManagement;
2989

2990
        /** Whether to allow card spend dispute management features. */
2991
        @SerializedName("card_spend_dispute_management")
2992
        Boolean cardSpendDisputeManagement;
2993

2994
        /** Whether to allow cardholder management features. */
2995
        @SerializedName("cardholder_management")
2996
        Boolean cardholderManagement;
2997

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

3008
        /** Whether to allow spend control management features. */
3009
        @SerializedName("spend_control_management")
3010
        Boolean spendControlManagement;
3011

3012
        private Features(
3013
            Boolean cardManagement,
3014
            Boolean cardSpendDisputeManagement,
3015
            Boolean cardholderManagement,
3016
            Map<String, Object> extraParams,
3017
            Boolean spendControlManagement) {
×
3018
          this.cardManagement = cardManagement;
×
3019
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
3020
          this.cardholderManagement = cardholderManagement;
×
3021
          this.extraParams = extraParams;
×
3022
          this.spendControlManagement = spendControlManagement;
×
3023
        }
×
3024

3025
        public static Builder builder() {
3026
          return new Builder();
×
3027
        }
3028

3029
        public static class Builder {
×
3030
          private Boolean cardManagement;
3031

3032
          private Boolean cardSpendDisputeManagement;
3033

3034
          private Boolean cardholderManagement;
3035

3036
          private Map<String, Object> extraParams;
3037

3038
          private Boolean spendControlManagement;
3039

3040
          /** Finalize and obtain parameter instance from this builder. */
3041
          public AccountSessionCreateParams.Components.IssuingCardsList.Features build() {
3042
            return new AccountSessionCreateParams.Components.IssuingCardsList.Features(
×
3043
                this.cardManagement,
3044
                this.cardSpendDisputeManagement,
3045
                this.cardholderManagement,
3046
                this.extraParams,
3047
                this.spendControlManagement);
3048
          }
3049

3050
          /** Whether to allow card management features. */
3051
          public Builder setCardManagement(Boolean cardManagement) {
3052
            this.cardManagement = cardManagement;
×
3053
            return this;
×
3054
          }
3055

3056
          /** Whether to allow card spend dispute management features. */
3057
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
3058
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
3059
            return this;
×
3060
          }
3061

3062
          /** Whether to allow cardholder management features. */
3063
          public Builder setCardholderManagement(Boolean cardholderManagement) {
3064
            this.cardholderManagement = cardholderManagement;
×
3065
            return this;
×
3066
          }
3067

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

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

3098
          /** Whether to allow spend control management features. */
3099
          public Builder setSpendControlManagement(Boolean spendControlManagement) {
3100
            this.spendControlManagement = spendControlManagement;
×
3101
            return this;
×
3102
          }
3103
        }
3104
      }
3105
    }
3106

3107
    @Getter
3108
    public static class NotificationBanner {
3109
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3110
      @SerializedName("enabled")
3111
      Boolean enabled;
3112

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

3122
      /** The list of features enabled in the embedded component. */
3123
      @SerializedName("features")
3124
      Features features;
3125

3126
      private NotificationBanner(
3127
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3128
        this.enabled = enabled;
×
3129
        this.extraParams = extraParams;
×
3130
        this.features = features;
×
3131
      }
×
3132

3133
      public static Builder builder() {
3134
        return new Builder();
×
3135
      }
3136

3137
      public static class Builder {
×
3138
        private Boolean enabled;
3139

3140
        private Map<String, Object> extraParams;
3141

3142
        private Features features;
3143

3144
        /** Finalize and obtain parameter instance from this builder. */
3145
        public AccountSessionCreateParams.Components.NotificationBanner build() {
3146
          return new AccountSessionCreateParams.Components.NotificationBanner(
×
3147
              this.enabled, this.extraParams, this.features);
3148
        }
3149

3150
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3151
        public Builder setEnabled(Boolean enabled) {
3152
          this.enabled = enabled;
×
3153
          return this;
×
3154
        }
3155

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

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

3184
        /** The list of features enabled in the embedded component. */
3185
        public Builder setFeatures(
3186
            AccountSessionCreateParams.Components.NotificationBanner.Features features) {
3187
          this.features = features;
×
3188
          return this;
×
3189
        }
3190
      }
3191

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

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

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

3224
        private Features(
3225
            Boolean disableStripeUserAuthentication,
3226
            Boolean externalAccountCollection,
3227
            Map<String, Object> extraParams) {
×
3228
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
3229
          this.externalAccountCollection = externalAccountCollection;
×
3230
          this.extraParams = extraParams;
×
3231
        }
×
3232

3233
        public static Builder builder() {
3234
          return new Builder();
×
3235
        }
3236

3237
        public static class Builder {
×
3238
          private Boolean disableStripeUserAuthentication;
3239

3240
          private Boolean externalAccountCollection;
3241

3242
          private Map<String, Object> extraParams;
3243

3244
          /** Finalize and obtain parameter instance from this builder. */
3245
          public AccountSessionCreateParams.Components.NotificationBanner.Features build() {
3246
            return new AccountSessionCreateParams.Components.NotificationBanner.Features(
×
3247
                this.disableStripeUserAuthentication,
3248
                this.externalAccountCollection,
3249
                this.extraParams);
3250
          }
3251

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

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

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

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

3310
    @Getter
3311
    public static class PaymentDetails {
3312
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3313
      @SerializedName("enabled")
3314
      Boolean enabled;
3315

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

3325
      /** The list of features enabled in the embedded component. */
3326
      @SerializedName("features")
3327
      Features features;
3328

3329
      private PaymentDetails(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3330
        this.enabled = enabled;
×
3331
        this.extraParams = extraParams;
×
3332
        this.features = features;
×
3333
      }
×
3334

3335
      public static Builder builder() {
3336
        return new Builder();
×
3337
      }
3338

3339
      public static class Builder {
×
3340
        private Boolean enabled;
3341

3342
        private Map<String, Object> extraParams;
3343

3344
        private Features features;
3345

3346
        /** Finalize and obtain parameter instance from this builder. */
3347
        public AccountSessionCreateParams.Components.PaymentDetails build() {
3348
          return new AccountSessionCreateParams.Components.PaymentDetails(
×
3349
              this.enabled, this.extraParams, this.features);
3350
        }
3351

3352
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3353
        public Builder setEnabled(Boolean enabled) {
3354
          this.enabled = enabled;
×
3355
          return this;
×
3356
        }
3357

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

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

3386
        /** The list of features enabled in the embedded component. */
3387
        public Builder setFeatures(
3388
            AccountSessionCreateParams.Components.PaymentDetails.Features features) {
3389
          this.features = features;
×
3390
          return this;
×
3391
        }
3392
      }
3393

3394
      @Getter
3395
      public static class Features {
3396
        /**
3397
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3398
         * default.
3399
         */
3400
        @SerializedName("capture_payments")
3401
        Boolean capturePayments;
3402

3403
        /**
3404
         * Whether to allow connected accounts to manage destination charges that are created on
3405
         * behalf of them. This is {@code false} by default.
3406
         */
3407
        @SerializedName("destination_on_behalf_of_charge_management")
3408
        Boolean destinationOnBehalfOfChargeManagement;
3409

3410
        /**
3411
         * Whether to allow responding to disputes, including submitting evidence and accepting
3412
         * disputes. This is {@code true} by default.
3413
         */
3414
        @SerializedName("dispute_management")
3415
        Boolean disputeManagement;
3416

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

3427
        /** Whether to allow sending refunds. This is {@code true} by default. */
3428
        @SerializedName("refund_management")
3429
        Boolean refundManagement;
3430

3431
        private Features(
3432
            Boolean capturePayments,
3433
            Boolean destinationOnBehalfOfChargeManagement,
3434
            Boolean disputeManagement,
3435
            Map<String, Object> extraParams,
3436
            Boolean refundManagement) {
×
3437
          this.capturePayments = capturePayments;
×
3438
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3439
          this.disputeManagement = disputeManagement;
×
3440
          this.extraParams = extraParams;
×
3441
          this.refundManagement = refundManagement;
×
3442
        }
×
3443

3444
        public static Builder builder() {
3445
          return new Builder();
×
3446
        }
3447

3448
        public static class Builder {
×
3449
          private Boolean capturePayments;
3450

3451
          private Boolean destinationOnBehalfOfChargeManagement;
3452

3453
          private Boolean disputeManagement;
3454

3455
          private Map<String, Object> extraParams;
3456

3457
          private Boolean refundManagement;
3458

3459
          /** Finalize and obtain parameter instance from this builder. */
3460
          public AccountSessionCreateParams.Components.PaymentDetails.Features build() {
3461
            return new AccountSessionCreateParams.Components.PaymentDetails.Features(
×
3462
                this.capturePayments,
3463
                this.destinationOnBehalfOfChargeManagement,
3464
                this.disputeManagement,
3465
                this.extraParams,
3466
                this.refundManagement);
3467
          }
3468

3469
          /**
3470
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3471
           * default.
3472
           */
3473
          public Builder setCapturePayments(Boolean capturePayments) {
3474
            this.capturePayments = capturePayments;
×
3475
            return this;
×
3476
          }
3477

3478
          /**
3479
           * Whether to allow connected accounts to manage destination charges that are created on
3480
           * behalf of them. This is {@code false} by default.
3481
           */
3482
          public Builder setDestinationOnBehalfOfChargeManagement(
3483
              Boolean destinationOnBehalfOfChargeManagement) {
3484
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3485
            return this;
×
3486
          }
3487

3488
          /**
3489
           * Whether to allow responding to disputes, including submitting evidence and accepting
3490
           * disputes. This is {@code true} by default.
3491
           */
3492
          public Builder setDisputeManagement(Boolean disputeManagement) {
3493
            this.disputeManagement = disputeManagement;
×
3494
            return this;
×
3495
          }
3496

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

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

3527
          /** Whether to allow sending refunds. This is {@code true} by default. */
3528
          public Builder setRefundManagement(Boolean refundManagement) {
3529
            this.refundManagement = refundManagement;
×
3530
            return this;
×
3531
          }
3532
        }
3533
      }
3534
    }
3535

3536
    @Getter
3537
    public static class PaymentMethodSettings {
3538
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3539
      @SerializedName("enabled")
3540
      Boolean enabled;
3541

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

3551
      /** The list of features enabled in the embedded component. */
3552
      @SerializedName("features")
3553
      Features features;
3554

3555
      private PaymentMethodSettings(
3556
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3557
        this.enabled = enabled;
×
3558
        this.extraParams = extraParams;
×
3559
        this.features = features;
×
3560
      }
×
3561

3562
      public static Builder builder() {
3563
        return new Builder();
×
3564
      }
3565

3566
      public static class Builder {
×
3567
        private Boolean enabled;
3568

3569
        private Map<String, Object> extraParams;
3570

3571
        private Features features;
3572

3573
        /** Finalize and obtain parameter instance from this builder. */
3574
        public AccountSessionCreateParams.Components.PaymentMethodSettings build() {
3575
          return new AccountSessionCreateParams.Components.PaymentMethodSettings(
×
3576
              this.enabled, this.extraParams, this.features);
3577
        }
3578

3579
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3580
        public Builder setEnabled(Boolean enabled) {
3581
          this.enabled = enabled;
×
3582
          return this;
×
3583
        }
3584

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

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

3613
        /** The list of features enabled in the embedded component. */
3614
        public Builder setFeatures(
3615
            AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) {
3616
          this.features = features;
×
3617
          return this;
×
3618
        }
3619
      }
3620

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

3633
        private Features(Map<String, Object> extraParams) {
×
3634
          this.extraParams = extraParams;
×
3635
        }
×
3636

3637
        public static Builder builder() {
3638
          return new Builder();
×
3639
        }
3640

3641
        public static class Builder {
×
3642
          private Map<String, Object> extraParams;
3643

3644
          /** Finalize and obtain parameter instance from this builder. */
3645
          public AccountSessionCreateParams.Components.PaymentMethodSettings.Features build() {
3646
            return new AccountSessionCreateParams.Components.PaymentMethodSettings.Features(
×
3647
                this.extraParams);
3648
          }
3649

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

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

3683
    @Getter
3684
    public static class Payments {
3685
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3686
      @SerializedName("enabled")
3687
      Boolean enabled;
3688

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

3698
      /** The list of features enabled in the embedded component. */
3699
      @SerializedName("features")
3700
      Features features;
3701

3702
      private Payments(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3703
        this.enabled = enabled;
×
3704
        this.extraParams = extraParams;
×
3705
        this.features = features;
×
3706
      }
×
3707

3708
      public static Builder builder() {
3709
        return new Builder();
×
3710
      }
3711

3712
      public static class Builder {
×
3713
        private Boolean enabled;
3714

3715
        private Map<String, Object> extraParams;
3716

3717
        private Features features;
3718

3719
        /** Finalize and obtain parameter instance from this builder. */
3720
        public AccountSessionCreateParams.Components.Payments build() {
3721
          return new AccountSessionCreateParams.Components.Payments(
×
3722
              this.enabled, this.extraParams, this.features);
3723
        }
3724

3725
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3726
        public Builder setEnabled(Boolean enabled) {
3727
          this.enabled = enabled;
×
3728
          return this;
×
3729
        }
3730

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

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

3759
        /** The list of features enabled in the embedded component. */
3760
        public Builder setFeatures(
3761
            AccountSessionCreateParams.Components.Payments.Features features) {
3762
          this.features = features;
×
3763
          return this;
×
3764
        }
3765
      }
3766

3767
      @Getter
3768
      public static class Features {
3769
        /**
3770
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3771
         * default.
3772
         */
3773
        @SerializedName("capture_payments")
3774
        Boolean capturePayments;
3775

3776
        /**
3777
         * Whether to allow connected accounts to manage destination charges that are created on
3778
         * behalf of them. This is {@code false} by default.
3779
         */
3780
        @SerializedName("destination_on_behalf_of_charge_management")
3781
        Boolean destinationOnBehalfOfChargeManagement;
3782

3783
        /**
3784
         * Whether to allow responding to disputes, including submitting evidence and accepting
3785
         * disputes. This is {@code true} by default.
3786
         */
3787
        @SerializedName("dispute_management")
3788
        Boolean disputeManagement;
3789

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

3800
        /** Whether to allow sending refunds. This is {@code true} by default. */
3801
        @SerializedName("refund_management")
3802
        Boolean refundManagement;
3803

3804
        private Features(
3805
            Boolean capturePayments,
3806
            Boolean destinationOnBehalfOfChargeManagement,
3807
            Boolean disputeManagement,
3808
            Map<String, Object> extraParams,
3809
            Boolean refundManagement) {
×
3810
          this.capturePayments = capturePayments;
×
3811
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3812
          this.disputeManagement = disputeManagement;
×
3813
          this.extraParams = extraParams;
×
3814
          this.refundManagement = refundManagement;
×
3815
        }
×
3816

3817
        public static Builder builder() {
3818
          return new Builder();
×
3819
        }
3820

3821
        public static class Builder {
×
3822
          private Boolean capturePayments;
3823

3824
          private Boolean destinationOnBehalfOfChargeManagement;
3825

3826
          private Boolean disputeManagement;
3827

3828
          private Map<String, Object> extraParams;
3829

3830
          private Boolean refundManagement;
3831

3832
          /** Finalize and obtain parameter instance from this builder. */
3833
          public AccountSessionCreateParams.Components.Payments.Features build() {
3834
            return new AccountSessionCreateParams.Components.Payments.Features(
×
3835
                this.capturePayments,
3836
                this.destinationOnBehalfOfChargeManagement,
3837
                this.disputeManagement,
3838
                this.extraParams,
3839
                this.refundManagement);
3840
          }
3841

3842
          /**
3843
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3844
           * default.
3845
           */
3846
          public Builder setCapturePayments(Boolean capturePayments) {
3847
            this.capturePayments = capturePayments;
×
3848
            return this;
×
3849
          }
3850

3851
          /**
3852
           * Whether to allow connected accounts to manage destination charges that are created on
3853
           * behalf of them. This is {@code false} by default.
3854
           */
3855
          public Builder setDestinationOnBehalfOfChargeManagement(
3856
              Boolean destinationOnBehalfOfChargeManagement) {
3857
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3858
            return this;
×
3859
          }
3860

3861
          /**
3862
           * Whether to allow responding to disputes, including submitting evidence and accepting
3863
           * disputes. This is {@code true} by default.
3864
           */
3865
          public Builder setDisputeManagement(Boolean disputeManagement) {
3866
            this.disputeManagement = disputeManagement;
×
3867
            return this;
×
3868
          }
3869

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

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

3898
          /** Whether to allow sending refunds. This is {@code true} by default. */
3899
          public Builder setRefundManagement(Boolean refundManagement) {
3900
            this.refundManagement = refundManagement;
×
3901
            return this;
×
3902
          }
3903
        }
3904
      }
3905
    }
3906

3907
    @Getter
3908
    public static class Payouts {
3909
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3910
      @SerializedName("enabled")
3911
      Boolean enabled;
3912

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

3922
      /** The list of features enabled in the embedded component. */
3923
      @SerializedName("features")
3924
      Features features;
3925

3926
      private Payouts(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3927
        this.enabled = enabled;
×
3928
        this.extraParams = extraParams;
×
3929
        this.features = features;
×
3930
      }
×
3931

3932
      public static Builder builder() {
3933
        return new Builder();
×
3934
      }
3935

3936
      public static class Builder {
×
3937
        private Boolean enabled;
3938

3939
        private Map<String, Object> extraParams;
3940

3941
        private Features features;
3942

3943
        /** Finalize and obtain parameter instance from this builder. */
3944
        public AccountSessionCreateParams.Components.Payouts build() {
3945
          return new AccountSessionCreateParams.Components.Payouts(
×
3946
              this.enabled, this.extraParams, this.features);
3947
        }
3948

3949
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3950
        public Builder setEnabled(Boolean enabled) {
3951
          this.enabled = enabled;
×
3952
          return this;
×
3953
        }
3954

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

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

3983
        /** The list of features enabled in the embedded component. */
3984
        public Builder setFeatures(
3985
            AccountSessionCreateParams.Components.Payouts.Features features) {
3986
          this.features = features;
×
3987
          return this;
×
3988
        }
3989
      }
3990

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

4003
        /**
4004
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4005
         * Loss Liability, default {@code false} otherwise.
4006
         */
4007
        @SerializedName("edit_payout_schedule")
4008
        Boolean editPayoutSchedule;
4009

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

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

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

4037
        /**
4038
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
4039
         * Liability, default {@code false} otherwise.
4040
         */
4041
        @SerializedName("standard_payouts")
4042
        Boolean standardPayouts;
4043

4044
        private Features(
4045
            Boolean disableStripeUserAuthentication,
4046
            Boolean editPayoutSchedule,
4047
            Boolean externalAccountCollection,
4048
            Map<String, Object> extraParams,
4049
            Boolean instantPayouts,
4050
            Boolean standardPayouts) {
×
4051
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
4052
          this.editPayoutSchedule = editPayoutSchedule;
×
4053
          this.externalAccountCollection = externalAccountCollection;
×
4054
          this.extraParams = extraParams;
×
4055
          this.instantPayouts = instantPayouts;
×
4056
          this.standardPayouts = standardPayouts;
×
4057
        }
×
4058

4059
        public static Builder builder() {
4060
          return new Builder();
×
4061
        }
4062

4063
        public static class Builder {
×
4064
          private Boolean disableStripeUserAuthentication;
4065

4066
          private Boolean editPayoutSchedule;
4067

4068
          private Boolean externalAccountCollection;
4069

4070
          private Map<String, Object> extraParams;
4071

4072
          private Boolean instantPayouts;
4073

4074
          private Boolean standardPayouts;
4075

4076
          /** Finalize and obtain parameter instance from this builder. */
4077
          public AccountSessionCreateParams.Components.Payouts.Features build() {
4078
            return new AccountSessionCreateParams.Components.Payouts.Features(
×
4079
                this.disableStripeUserAuthentication,
4080
                this.editPayoutSchedule,
4081
                this.externalAccountCollection,
4082
                this.extraParams,
4083
                this.instantPayouts,
4084
                this.standardPayouts);
4085
          }
4086

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

4100
          /**
4101
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4102
           * Loss Liability, default {@code false} otherwise.
4103
           */
4104
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
4105
            this.editPayoutSchedule = editPayoutSchedule;
×
4106
            return this;
×
4107
          }
4108

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

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

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

4149
          /**
4150
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
4151
           * Loss Liability, default {@code false} otherwise.
4152
           */
4153
          public Builder setInstantPayouts(Boolean instantPayouts) {
4154
            this.instantPayouts = instantPayouts;
×
4155
            return this;
×
4156
          }
4157

4158
          /**
4159
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
4160
           * Loss Liability, default {@code false} otherwise.
4161
           */
4162
          public Builder setStandardPayouts(Boolean standardPayouts) {
4163
            this.standardPayouts = standardPayouts;
×
4164
            return this;
×
4165
          }
4166
        }
4167
      }
4168
    }
4169

4170
    @Getter
4171
    public static class PayoutsList {
4172
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4173
      @SerializedName("enabled")
4174
      Boolean enabled;
4175

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

4185
      /** The list of features enabled in the embedded component. */
4186
      @SerializedName("features")
4187
      Features features;
4188

4189
      private PayoutsList(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4190
        this.enabled = enabled;
×
4191
        this.extraParams = extraParams;
×
4192
        this.features = features;
×
4193
      }
×
4194

4195
      public static Builder builder() {
4196
        return new Builder();
×
4197
      }
4198

4199
      public static class Builder {
×
4200
        private Boolean enabled;
4201

4202
        private Map<String, Object> extraParams;
4203

4204
        private Features features;
4205

4206
        /** Finalize and obtain parameter instance from this builder. */
4207
        public AccountSessionCreateParams.Components.PayoutsList build() {
4208
          return new AccountSessionCreateParams.Components.PayoutsList(
×
4209
              this.enabled, this.extraParams, this.features);
4210
        }
4211

4212
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4213
        public Builder setEnabled(Boolean enabled) {
4214
          this.enabled = enabled;
×
4215
          return this;
×
4216
        }
4217

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

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

4246
        /** The list of features enabled in the embedded component. */
4247
        public Builder setFeatures(
4248
            AccountSessionCreateParams.Components.PayoutsList.Features features) {
4249
          this.features = features;
×
4250
          return this;
×
4251
        }
4252
      }
4253

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

4266
        private Features(Map<String, Object> extraParams) {
×
4267
          this.extraParams = extraParams;
×
4268
        }
×
4269

4270
        public static Builder builder() {
4271
          return new Builder();
×
4272
        }
4273

4274
        public static class Builder {
×
4275
          private Map<String, Object> extraParams;
4276

4277
          /** Finalize and obtain parameter instance from this builder. */
4278
          public AccountSessionCreateParams.Components.PayoutsList.Features build() {
4279
            return new AccountSessionCreateParams.Components.PayoutsList.Features(this.extraParams);
×
4280
          }
4281

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

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

4313
    @Getter
4314
    public static class Recipients {
4315
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4316
      @SerializedName("enabled")
4317
      Boolean enabled;
4318

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

4328
      @SerializedName("features")
4329
      Features features;
4330

4331
      private Recipients(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4332
        this.enabled = enabled;
×
4333
        this.extraParams = extraParams;
×
4334
        this.features = features;
×
4335
      }
×
4336

4337
      public static Builder builder() {
4338
        return new Builder();
×
4339
      }
4340

4341
      public static class Builder {
×
4342
        private Boolean enabled;
4343

4344
        private Map<String, Object> extraParams;
4345

4346
        private Features features;
4347

4348
        /** Finalize and obtain parameter instance from this builder. */
4349
        public AccountSessionCreateParams.Components.Recipients build() {
4350
          return new AccountSessionCreateParams.Components.Recipients(
×
4351
              this.enabled, this.extraParams, this.features);
4352
        }
4353

4354
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4355
        public Builder setEnabled(Boolean enabled) {
4356
          this.enabled = enabled;
×
4357
          return this;
×
4358
        }
4359

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

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

4388
        public Builder setFeatures(
4389
            AccountSessionCreateParams.Components.Recipients.Features features) {
4390
          this.features = features;
×
4391
          return this;
×
4392
        }
4393
      }
4394

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

4407
        /** Whether to allow sending money. */
4408
        @SerializedName("send_money")
4409
        Boolean sendMoney;
4410

NEW
4411
        private Features(Map<String, Object> extraParams, Boolean sendMoney) {
×
4412
          this.extraParams = extraParams;
×
NEW
4413
          this.sendMoney = sendMoney;
×
UNCOV
4414
        }
×
4415

4416
        public static Builder builder() {
4417
          return new Builder();
×
4418
        }
4419

4420
        public static class Builder {
×
4421
          private Map<String, Object> extraParams;
4422

4423
          private Boolean sendMoney;
4424

4425
          /** Finalize and obtain parameter instance from this builder. */
4426
          public AccountSessionCreateParams.Components.Recipients.Features build() {
NEW
4427
            return new AccountSessionCreateParams.Components.Recipients.Features(
×
4428
                this.extraParams, this.sendMoney);
4429
          }
4430

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

4445
          /**
4446
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4447
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4448
           * map. See {@link AccountSessionCreateParams.Components.Recipients.Features#extraParams}
4449
           * for the field documentation.
4450
           */
4451
          public Builder putAllExtraParam(Map<String, Object> map) {
4452
            if (this.extraParams == null) {
×
4453
              this.extraParams = new HashMap<>();
×
4454
            }
4455
            this.extraParams.putAll(map);
×
4456
            return this;
×
4457
          }
4458

4459
          /** Whether to allow sending money. */
4460
          public Builder setSendMoney(Boolean sendMoney) {
NEW
4461
            this.sendMoney = sendMoney;
×
NEW
4462
            return this;
×
4463
          }
4464
        }
4465
      }
4466
    }
4467

4468
    @Getter
4469
    public static class ReportingChart {
4470
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4471
      @SerializedName("enabled")
4472
      Boolean enabled;
4473

4474
      /**
4475
       * Map of extra parameters for custom features not available in this client library. The
4476
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4477
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4478
       * name in this param object. Effectively, this map is flattened to its parent instance.
4479
       */
4480
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4481
      Map<String, Object> extraParams;
4482

4483
      /** The list of features enabled in the embedded component. */
4484
      @SerializedName("features")
4485
      Features features;
4486

4487
      private ReportingChart(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4488
        this.enabled = enabled;
×
4489
        this.extraParams = extraParams;
×
4490
        this.features = features;
×
4491
      }
×
4492

4493
      public static Builder builder() {
4494
        return new Builder();
×
4495
      }
4496

4497
      public static class Builder {
×
4498
        private Boolean enabled;
4499

4500
        private Map<String, Object> extraParams;
4501

4502
        private Features features;
4503

4504
        /** Finalize and obtain parameter instance from this builder. */
4505
        public AccountSessionCreateParams.Components.ReportingChart build() {
4506
          return new AccountSessionCreateParams.Components.ReportingChart(
×
4507
              this.enabled, this.extraParams, this.features);
4508
        }
4509

4510
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4511
        public Builder setEnabled(Boolean enabled) {
4512
          this.enabled = enabled;
×
4513
          return this;
×
4514
        }
4515

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

4530
        /**
4531
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4532
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4533
         * map. See {@link AccountSessionCreateParams.Components.ReportingChart#extraParams} for the
4534
         * field documentation.
4535
         */
4536
        public Builder putAllExtraParam(Map<String, Object> map) {
4537
          if (this.extraParams == null) {
×
4538
            this.extraParams = new HashMap<>();
×
4539
          }
4540
          this.extraParams.putAll(map);
×
4541
          return this;
×
4542
        }
4543

4544
        /** The list of features enabled in the embedded component. */
4545
        public Builder setFeatures(
4546
            AccountSessionCreateParams.Components.ReportingChart.Features features) {
4547
          this.features = features;
×
4548
          return this;
×
4549
        }
4550
      }
4551

4552
      @Getter
4553
      public static class Features {
4554
        /**
4555
         * Map of extra parameters for custom features not available in this client library. The
4556
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4557
         * Instead, each key/value pair is serialized as if the key is a root-level field
4558
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4559
         * instance.
4560
         */
4561
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4562
        Map<String, Object> extraParams;
4563

4564
        private Features(Map<String, Object> extraParams) {
×
4565
          this.extraParams = extraParams;
×
4566
        }
×
4567

4568
        public static Builder builder() {
4569
          return new Builder();
×
4570
        }
4571

4572
        public static class Builder {
×
4573
          private Map<String, Object> extraParams;
4574

4575
          /** Finalize and obtain parameter instance from this builder. */
4576
          public AccountSessionCreateParams.Components.ReportingChart.Features build() {
4577
            return new AccountSessionCreateParams.Components.ReportingChart.Features(
×
4578
                this.extraParams);
4579
          }
4580

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

4596
          /**
4597
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4598
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4599
           * map. See {@link
4600
           * AccountSessionCreateParams.Components.ReportingChart.Features#extraParams} for the
4601
           * field documentation.
4602
           */
4603
          public Builder putAllExtraParam(Map<String, Object> map) {
4604
            if (this.extraParams == null) {
×
4605
              this.extraParams = new HashMap<>();
×
4606
            }
4607
            this.extraParams.putAll(map);
×
4608
            return this;
×
4609
          }
4610
        }
4611
      }
4612
    }
4613

4614
    @Getter
4615
    public static class TaxRegistrations {
4616
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4617
      @SerializedName("enabled")
4618
      Boolean enabled;
4619

4620
      /**
4621
       * Map of extra parameters for custom features not available in this client library. The
4622
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4623
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4624
       * name in this param object. Effectively, this map is flattened to its parent instance.
4625
       */
4626
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4627
      Map<String, Object> extraParams;
4628

4629
      /** The list of features enabled in the embedded component. */
4630
      @SerializedName("features")
4631
      Features features;
4632

4633
      private TaxRegistrations(
4634
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4635
        this.enabled = enabled;
×
4636
        this.extraParams = extraParams;
×
4637
        this.features = features;
×
4638
      }
×
4639

4640
      public static Builder builder() {
4641
        return new Builder();
×
4642
      }
4643

4644
      public static class Builder {
×
4645
        private Boolean enabled;
4646

4647
        private Map<String, Object> extraParams;
4648

4649
        private Features features;
4650

4651
        /** Finalize and obtain parameter instance from this builder. */
4652
        public AccountSessionCreateParams.Components.TaxRegistrations build() {
4653
          return new AccountSessionCreateParams.Components.TaxRegistrations(
×
4654
              this.enabled, this.extraParams, this.features);
4655
        }
4656

4657
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4658
        public Builder setEnabled(Boolean enabled) {
4659
          this.enabled = enabled;
×
4660
          return this;
×
4661
        }
4662

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

4677
        /**
4678
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4679
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4680
         * map. See {@link AccountSessionCreateParams.Components.TaxRegistrations#extraParams} for
4681
         * the field documentation.
4682
         */
4683
        public Builder putAllExtraParam(Map<String, Object> map) {
4684
          if (this.extraParams == null) {
×
4685
            this.extraParams = new HashMap<>();
×
4686
          }
4687
          this.extraParams.putAll(map);
×
4688
          return this;
×
4689
        }
4690

4691
        /** The list of features enabled in the embedded component. */
4692
        public Builder setFeatures(
4693
            AccountSessionCreateParams.Components.TaxRegistrations.Features features) {
4694
          this.features = features;
×
4695
          return this;
×
4696
        }
4697
      }
4698

4699
      @Getter
4700
      public static class Features {
4701
        /**
4702
         * Map of extra parameters for custom features not available in this client library. The
4703
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4704
         * Instead, each key/value pair is serialized as if the key is a root-level field
4705
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4706
         * instance.
4707
         */
4708
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4709
        Map<String, Object> extraParams;
4710

4711
        private Features(Map<String, Object> extraParams) {
×
4712
          this.extraParams = extraParams;
×
4713
        }
×
4714

4715
        public static Builder builder() {
4716
          return new Builder();
×
4717
        }
4718

4719
        public static class Builder {
×
4720
          private Map<String, Object> extraParams;
4721

4722
          /** Finalize and obtain parameter instance from this builder. */
4723
          public AccountSessionCreateParams.Components.TaxRegistrations.Features build() {
4724
            return new AccountSessionCreateParams.Components.TaxRegistrations.Features(
×
4725
                this.extraParams);
4726
          }
4727

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

4743
          /**
4744
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4745
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4746
           * map. See {@link
4747
           * AccountSessionCreateParams.Components.TaxRegistrations.Features#extraParams} for the
4748
           * field documentation.
4749
           */
4750
          public Builder putAllExtraParam(Map<String, Object> map) {
4751
            if (this.extraParams == null) {
×
4752
              this.extraParams = new HashMap<>();
×
4753
            }
4754
            this.extraParams.putAll(map);
×
4755
            return this;
×
4756
          }
4757
        }
4758
      }
4759
    }
4760

4761
    @Getter
4762
    public static class TaxSettings {
4763
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4764
      @SerializedName("enabled")
4765
      Boolean enabled;
4766

4767
      /**
4768
       * Map of extra parameters for custom features not available in this client library. The
4769
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4770
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4771
       * name in this param object. Effectively, this map is flattened to its parent instance.
4772
       */
4773
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4774
      Map<String, Object> extraParams;
4775

4776
      /** The list of features enabled in the embedded component. */
4777
      @SerializedName("features")
4778
      Features features;
4779

4780
      private TaxSettings(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4781
        this.enabled = enabled;
×
4782
        this.extraParams = extraParams;
×
4783
        this.features = features;
×
4784
      }
×
4785

4786
      public static Builder builder() {
4787
        return new Builder();
×
4788
      }
4789

4790
      public static class Builder {
×
4791
        private Boolean enabled;
4792

4793
        private Map<String, Object> extraParams;
4794

4795
        private Features features;
4796

4797
        /** Finalize and obtain parameter instance from this builder. */
4798
        public AccountSessionCreateParams.Components.TaxSettings build() {
4799
          return new AccountSessionCreateParams.Components.TaxSettings(
×
4800
              this.enabled, this.extraParams, this.features);
4801
        }
4802

4803
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4804
        public Builder setEnabled(Boolean enabled) {
4805
          this.enabled = enabled;
×
4806
          return this;
×
4807
        }
4808

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

4823
        /**
4824
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4825
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4826
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4827
         * field documentation.
4828
         */
4829
        public Builder putAllExtraParam(Map<String, Object> map) {
4830
          if (this.extraParams == null) {
×
4831
            this.extraParams = new HashMap<>();
×
4832
          }
4833
          this.extraParams.putAll(map);
×
4834
          return this;
×
4835
        }
4836

4837
        /** The list of features enabled in the embedded component. */
4838
        public Builder setFeatures(
4839
            AccountSessionCreateParams.Components.TaxSettings.Features features) {
4840
          this.features = features;
×
4841
          return this;
×
4842
        }
4843
      }
4844

4845
      @Getter
4846
      public static class Features {
4847
        /**
4848
         * Map of extra parameters for custom features not available in this client library. The
4849
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4850
         * Instead, each key/value pair is serialized as if the key is a root-level field
4851
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4852
         * instance.
4853
         */
4854
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4855
        Map<String, Object> extraParams;
4856

4857
        private Features(Map<String, Object> extraParams) {
×
4858
          this.extraParams = extraParams;
×
4859
        }
×
4860

4861
        public static Builder builder() {
4862
          return new Builder();
×
4863
        }
4864

4865
        public static class Builder {
×
4866
          private Map<String, Object> extraParams;
4867

4868
          /** Finalize and obtain parameter instance from this builder. */
4869
          public AccountSessionCreateParams.Components.TaxSettings.Features build() {
4870
            return new AccountSessionCreateParams.Components.TaxSettings.Features(this.extraParams);
×
4871
          }
4872

4873
          /**
4874
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4875
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4876
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4877
           * for the field documentation.
4878
           */
4879
          public Builder putExtraParam(String key, Object value) {
4880
            if (this.extraParams == null) {
×
4881
              this.extraParams = new HashMap<>();
×
4882
            }
4883
            this.extraParams.put(key, value);
×
4884
            return this;
×
4885
          }
4886

4887
          /**
4888
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4889
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4890
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4891
           * for the field documentation.
4892
           */
4893
          public Builder putAllExtraParam(Map<String, Object> map) {
4894
            if (this.extraParams == null) {
×
4895
              this.extraParams = new HashMap<>();
×
4896
            }
4897
            this.extraParams.putAll(map);
×
4898
            return this;
×
4899
          }
4900
        }
4901
      }
4902
    }
4903
  }
4904
}
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