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

stripe / stripe-java / #16624

07 Nov 2024 10:04PM UTC coverage: 12.419% (-0.1%) from 12.519%
#16624

push

github

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

Update generated code for beta

17 of 1341 new or added lines in 57 files covered. (1.27%)

33 existing lines in 29 files now uncovered.

18855 of 151828 relevant lines covered (12.42%)

0.12 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 sending money. */
2471
        @SerializedName("send_money")
2472
        Boolean sendMoney;
2473

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

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

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

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

2498
          private Boolean externalAccountCollection;
2499

2500
          private Map<String, Object> extraParams;
2501

2502
          private Boolean sendMoney;
2503

2504
          private Boolean transferBalance;
2505

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

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

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

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

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

2565
          /** Whether to allow sending money. */
2566
          public Builder setSendMoney(Boolean sendMoney) {
2567
            this.sendMoney = sendMoney;
×
2568
            return this;
×
2569
          }
2570

2571
          /** Whether to allow transferring balance. */
2572
          public Builder setTransferBalance(Boolean transferBalance) {
2573
            this.transferBalance = transferBalance;
×
2574
            return this;
×
2575
          }
2576
        }
2577
      }
2578
    }
2579

2580
    @Getter
2581
    public static class FinancialAccountTransactions {
2582
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2583
      @SerializedName("enabled")
2584
      Boolean enabled;
2585

2586
      /**
2587
       * Map of extra parameters for custom features not available in this client library. The
2588
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2589
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2590
       * name in this param object. Effectively, this map is flattened to its parent instance.
2591
       */
2592
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2593
      Map<String, Object> extraParams;
2594

2595
      /** The list of features enabled in the embedded component. */
2596
      @SerializedName("features")
2597
      Features features;
2598

2599
      private FinancialAccountTransactions(
2600
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2601
        this.enabled = enabled;
×
2602
        this.extraParams = extraParams;
×
2603
        this.features = features;
×
2604
      }
×
2605

2606
      public static Builder builder() {
2607
        return new Builder();
×
2608
      }
2609

2610
      public static class Builder {
×
2611
        private Boolean enabled;
2612

2613
        private Map<String, Object> extraParams;
2614

2615
        private Features features;
2616

2617
        /** Finalize and obtain parameter instance from this builder. */
2618
        public AccountSessionCreateParams.Components.FinancialAccountTransactions build() {
2619
          return new AccountSessionCreateParams.Components.FinancialAccountTransactions(
×
2620
              this.enabled, this.extraParams, this.features);
2621
        }
2622

2623
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2624
        public Builder setEnabled(Boolean enabled) {
2625
          this.enabled = enabled;
×
2626
          return this;
×
2627
        }
2628

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

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

2659
        /** The list of features enabled in the embedded component. */
2660
        public Builder setFeatures(
2661
            AccountSessionCreateParams.Components.FinancialAccountTransactions.Features features) {
2662
          this.features = features;
×
2663
          return this;
×
2664
        }
2665
      }
2666

2667
      @Getter
2668
      public static class Features {
2669
        /** Whether to allow card spend dispute management features. */
2670
        @SerializedName("card_spend_dispute_management")
2671
        Boolean cardSpendDisputeManagement;
2672

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

2683
        private Features(Boolean cardSpendDisputeManagement, Map<String, Object> extraParams) {
×
2684
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2685
          this.extraParams = extraParams;
×
2686
        }
×
2687

2688
        public static Builder builder() {
2689
          return new Builder();
×
2690
        }
2691

2692
        public static class Builder {
×
2693
          private Boolean cardSpendDisputeManagement;
2694

2695
          private Map<String, Object> extraParams;
2696

2697
          /** Finalize and obtain parameter instance from this builder. */
2698
          public AccountSessionCreateParams.Components.FinancialAccountTransactions.Features
2699
              build() {
2700
            return new AccountSessionCreateParams.Components.FinancialAccountTransactions.Features(
×
2701
                this.cardSpendDisputeManagement, this.extraParams);
2702
          }
2703

2704
          /** Whether to allow card spend dispute management features. */
2705
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
2706
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2707
            return this;
×
2708
          }
2709

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

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

2743
    @Getter
2744
    public static class IssuingCard {
2745
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2746
      @SerializedName("enabled")
2747
      Boolean enabled;
2748

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

2758
      /** The list of features enabled in the embedded component. */
2759
      @SerializedName("features")
2760
      Features features;
2761

2762
      private IssuingCard(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2763
        this.enabled = enabled;
×
2764
        this.extraParams = extraParams;
×
2765
        this.features = features;
×
2766
      }
×
2767

2768
      public static Builder builder() {
2769
        return new Builder();
×
2770
      }
2771

2772
      public static class Builder {
×
2773
        private Boolean enabled;
2774

2775
        private Map<String, Object> extraParams;
2776

2777
        private Features features;
2778

2779
        /** Finalize and obtain parameter instance from this builder. */
2780
        public AccountSessionCreateParams.Components.IssuingCard build() {
2781
          return new AccountSessionCreateParams.Components.IssuingCard(
×
2782
              this.enabled, this.extraParams, this.features);
2783
        }
2784

2785
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2786
        public Builder setEnabled(Boolean enabled) {
2787
          this.enabled = enabled;
×
2788
          return this;
×
2789
        }
2790

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

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

2819
        /** The list of features enabled in the embedded component. */
2820
        public Builder setFeatures(
2821
            AccountSessionCreateParams.Components.IssuingCard.Features features) {
2822
          this.features = features;
×
2823
          return this;
×
2824
        }
2825
      }
2826

2827
      @Getter
2828
      public static class Features {
2829
        /** Whether to allow card management features. */
2830
        @SerializedName("card_management")
2831
        Boolean cardManagement;
2832

2833
        /** Whether to allow card spend dispute management features. */
2834
        @SerializedName("card_spend_dispute_management")
2835
        Boolean cardSpendDisputeManagement;
2836

2837
        /** Whether to allow cardholder management features. */
2838
        @SerializedName("cardholder_management")
2839
        Boolean cardholderManagement;
2840

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

2851
        /** Whether to allow spend control management features. */
2852
        @SerializedName("spend_control_management")
2853
        Boolean spendControlManagement;
2854

2855
        private Features(
2856
            Boolean cardManagement,
2857
            Boolean cardSpendDisputeManagement,
2858
            Boolean cardholderManagement,
2859
            Map<String, Object> extraParams,
NEW
2860
            Boolean spendControlManagement) {
×
NEW
2861
          this.cardManagement = cardManagement;
×
NEW
2862
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
NEW
2863
          this.cardholderManagement = cardholderManagement;
×
2864
          this.extraParams = extraParams;
×
NEW
2865
          this.spendControlManagement = spendControlManagement;
×
UNCOV
2866
        }
×
2867

2868
        public static Builder builder() {
2869
          return new Builder();
×
2870
        }
2871

2872
        public static class Builder {
×
2873
          private Boolean cardManagement;
2874

2875
          private Boolean cardSpendDisputeManagement;
2876

2877
          private Boolean cardholderManagement;
2878

2879
          private Map<String, Object> extraParams;
2880

2881
          private Boolean spendControlManagement;
2882

2883
          /** Finalize and obtain parameter instance from this builder. */
2884
          public AccountSessionCreateParams.Components.IssuingCard.Features build() {
NEW
2885
            return new AccountSessionCreateParams.Components.IssuingCard.Features(
×
2886
                this.cardManagement,
2887
                this.cardSpendDisputeManagement,
2888
                this.cardholderManagement,
2889
                this.extraParams,
2890
                this.spendControlManagement);
2891
          }
2892

2893
          /** Whether to allow card management features. */
2894
          public Builder setCardManagement(Boolean cardManagement) {
NEW
2895
            this.cardManagement = cardManagement;
×
NEW
2896
            return this;
×
2897
          }
2898

2899
          /** Whether to allow card spend dispute management features. */
2900
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
NEW
2901
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
NEW
2902
            return this;
×
2903
          }
2904

2905
          /** Whether to allow cardholder management features. */
2906
          public Builder setCardholderManagement(Boolean cardholderManagement) {
NEW
2907
            this.cardholderManagement = cardholderManagement;
×
NEW
2908
            return this;
×
2909
          }
2910

2911
          /**
2912
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2913
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2914
           * map. See {@link AccountSessionCreateParams.Components.IssuingCard.Features#extraParams}
2915
           * for the field documentation.
2916
           */
2917
          public Builder putExtraParam(String key, Object value) {
2918
            if (this.extraParams == null) {
×
2919
              this.extraParams = new HashMap<>();
×
2920
            }
2921
            this.extraParams.put(key, value);
×
2922
            return this;
×
2923
          }
2924

2925
          /**
2926
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2927
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2928
           * map. See {@link AccountSessionCreateParams.Components.IssuingCard.Features#extraParams}
2929
           * for the field documentation.
2930
           */
2931
          public Builder putAllExtraParam(Map<String, Object> map) {
2932
            if (this.extraParams == null) {
×
2933
              this.extraParams = new HashMap<>();
×
2934
            }
2935
            this.extraParams.putAll(map);
×
2936
            return this;
×
2937
          }
2938

2939
          /** Whether to allow spend control management features. */
2940
          public Builder setSpendControlManagement(Boolean spendControlManagement) {
NEW
2941
            this.spendControlManagement = spendControlManagement;
×
NEW
2942
            return this;
×
2943
          }
2944
        }
2945
      }
2946
    }
2947

2948
    @Getter
2949
    public static class IssuingCardsList {
2950
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2951
      @SerializedName("enabled")
2952
      Boolean enabled;
2953

2954
      /**
2955
       * Map of extra parameters for custom features not available in this client library. The
2956
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2957
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2958
       * name in this param object. Effectively, this map is flattened to its parent instance.
2959
       */
2960
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2961
      Map<String, Object> extraParams;
2962

2963
      /** The list of features enabled in the embedded component. */
2964
      @SerializedName("features")
2965
      Features features;
2966

2967
      private IssuingCardsList(
2968
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2969
        this.enabled = enabled;
×
2970
        this.extraParams = extraParams;
×
2971
        this.features = features;
×
2972
      }
×
2973

2974
      public static Builder builder() {
2975
        return new Builder();
×
2976
      }
2977

2978
      public static class Builder {
×
2979
        private Boolean enabled;
2980

2981
        private Map<String, Object> extraParams;
2982

2983
        private Features features;
2984

2985
        /** Finalize and obtain parameter instance from this builder. */
2986
        public AccountSessionCreateParams.Components.IssuingCardsList build() {
2987
          return new AccountSessionCreateParams.Components.IssuingCardsList(
×
2988
              this.enabled, this.extraParams, this.features);
2989
        }
2990

2991
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2992
        public Builder setEnabled(Boolean enabled) {
2993
          this.enabled = enabled;
×
2994
          return this;
×
2995
        }
2996

2997
        /**
2998
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2999
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3000
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
3001
         * the field documentation.
3002
         */
3003
        public Builder putExtraParam(String key, Object value) {
3004
          if (this.extraParams == null) {
×
3005
            this.extraParams = new HashMap<>();
×
3006
          }
3007
          this.extraParams.put(key, value);
×
3008
          return this;
×
3009
        }
3010

3011
        /**
3012
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3013
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3014
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
3015
         * the field documentation.
3016
         */
3017
        public Builder putAllExtraParam(Map<String, Object> map) {
3018
          if (this.extraParams == null) {
×
3019
            this.extraParams = new HashMap<>();
×
3020
          }
3021
          this.extraParams.putAll(map);
×
3022
          return this;
×
3023
        }
3024

3025
        /** The list of features enabled in the embedded component. */
3026
        public Builder setFeatures(
3027
            AccountSessionCreateParams.Components.IssuingCardsList.Features features) {
3028
          this.features = features;
×
3029
          return this;
×
3030
        }
3031
      }
3032

3033
      @Getter
3034
      public static class Features {
3035
        /** Whether to allow card management features. */
3036
        @SerializedName("card_management")
3037
        Boolean cardManagement;
3038

3039
        /** Whether to allow card spend dispute management features. */
3040
        @SerializedName("card_spend_dispute_management")
3041
        Boolean cardSpendDisputeManagement;
3042

3043
        /** Whether to allow cardholder management features. */
3044
        @SerializedName("cardholder_management")
3045
        Boolean cardholderManagement;
3046

3047
        /**
3048
         * Disables Stripe user authentication for this embedded component. This feature can only be
3049
         * false for accounts where you’re responsible for collecting updated information when
3050
         * requirements are due or change, like custom accounts.
3051
         */
3052
        @SerializedName("disable_stripe_user_authentication")
3053
        Boolean disableStripeUserAuthentication;
3054

3055
        /**
3056
         * Map of extra parameters for custom features not available in this client library. The
3057
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3058
         * Instead, each key/value pair is serialized as if the key is a root-level field
3059
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3060
         * instance.
3061
         */
3062
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3063
        Map<String, Object> extraParams;
3064

3065
        /** Whether to allow spend control management features. */
3066
        @SerializedName("spend_control_management")
3067
        Boolean spendControlManagement;
3068

3069
        private Features(
3070
            Boolean cardManagement,
3071
            Boolean cardSpendDisputeManagement,
3072
            Boolean cardholderManagement,
3073
            Boolean disableStripeUserAuthentication,
3074
            Map<String, Object> extraParams,
3075
            Boolean spendControlManagement) {
×
3076
          this.cardManagement = cardManagement;
×
3077
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
3078
          this.cardholderManagement = cardholderManagement;
×
NEW
3079
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
3080
          this.extraParams = extraParams;
×
3081
          this.spendControlManagement = spendControlManagement;
×
3082
        }
×
3083

3084
        public static Builder builder() {
3085
          return new Builder();
×
3086
        }
3087

3088
        public static class Builder {
×
3089
          private Boolean cardManagement;
3090

3091
          private Boolean cardSpendDisputeManagement;
3092

3093
          private Boolean cardholderManagement;
3094

3095
          private Boolean disableStripeUserAuthentication;
3096

3097
          private Map<String, Object> extraParams;
3098

3099
          private Boolean spendControlManagement;
3100

3101
          /** Finalize and obtain parameter instance from this builder. */
3102
          public AccountSessionCreateParams.Components.IssuingCardsList.Features build() {
3103
            return new AccountSessionCreateParams.Components.IssuingCardsList.Features(
×
3104
                this.cardManagement,
3105
                this.cardSpendDisputeManagement,
3106
                this.cardholderManagement,
3107
                this.disableStripeUserAuthentication,
3108
                this.extraParams,
3109
                this.spendControlManagement);
3110
          }
3111

3112
          /** Whether to allow card management features. */
3113
          public Builder setCardManagement(Boolean cardManagement) {
3114
            this.cardManagement = cardManagement;
×
3115
            return this;
×
3116
          }
3117

3118
          /** Whether to allow card spend dispute management features. */
3119
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
3120
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
3121
            return this;
×
3122
          }
3123

3124
          /** Whether to allow cardholder management features. */
3125
          public Builder setCardholderManagement(Boolean cardholderManagement) {
3126
            this.cardholderManagement = cardholderManagement;
×
3127
            return this;
×
3128
          }
3129

3130
          /**
3131
           * Disables Stripe user authentication for this embedded component. This feature can only
3132
           * be false for accounts where you’re responsible for collecting updated information when
3133
           * requirements are due or change, like custom accounts.
3134
           */
3135
          public Builder setDisableStripeUserAuthentication(
3136
              Boolean disableStripeUserAuthentication) {
NEW
3137
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
NEW
3138
            return this;
×
3139
          }
3140

3141
          /**
3142
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3143
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3144
           * map. See {@link
3145
           * AccountSessionCreateParams.Components.IssuingCardsList.Features#extraParams} for the
3146
           * field documentation.
3147
           */
3148
          public Builder putExtraParam(String key, Object value) {
3149
            if (this.extraParams == null) {
×
3150
              this.extraParams = new HashMap<>();
×
3151
            }
3152
            this.extraParams.put(key, value);
×
3153
            return this;
×
3154
          }
3155

3156
          /**
3157
           * Add all map key/value pairs 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
3160
           * AccountSessionCreateParams.Components.IssuingCardsList.Features#extraParams} for the
3161
           * field documentation.
3162
           */
3163
          public Builder putAllExtraParam(Map<String, Object> map) {
3164
            if (this.extraParams == null) {
×
3165
              this.extraParams = new HashMap<>();
×
3166
            }
3167
            this.extraParams.putAll(map);
×
3168
            return this;
×
3169
          }
3170

3171
          /** Whether to allow spend control management features. */
3172
          public Builder setSpendControlManagement(Boolean spendControlManagement) {
3173
            this.spendControlManagement = spendControlManagement;
×
3174
            return this;
×
3175
          }
3176
        }
3177
      }
3178
    }
3179

3180
    @Getter
3181
    public static class NotificationBanner {
3182
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3183
      @SerializedName("enabled")
3184
      Boolean enabled;
3185

3186
      /**
3187
       * Map of extra parameters for custom features not available in this client library. The
3188
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3189
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3190
       * name in this param object. Effectively, this map is flattened to its parent instance.
3191
       */
3192
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3193
      Map<String, Object> extraParams;
3194

3195
      /** The list of features enabled in the embedded component. */
3196
      @SerializedName("features")
3197
      Features features;
3198

3199
      private NotificationBanner(
3200
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3201
        this.enabled = enabled;
×
3202
        this.extraParams = extraParams;
×
3203
        this.features = features;
×
3204
      }
×
3205

3206
      public static Builder builder() {
3207
        return new Builder();
×
3208
      }
3209

3210
      public static class Builder {
×
3211
        private Boolean enabled;
3212

3213
        private Map<String, Object> extraParams;
3214

3215
        private Features features;
3216

3217
        /** Finalize and obtain parameter instance from this builder. */
3218
        public AccountSessionCreateParams.Components.NotificationBanner build() {
3219
          return new AccountSessionCreateParams.Components.NotificationBanner(
×
3220
              this.enabled, this.extraParams, this.features);
3221
        }
3222

3223
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3224
        public Builder setEnabled(Boolean enabled) {
3225
          this.enabled = enabled;
×
3226
          return this;
×
3227
        }
3228

3229
        /**
3230
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3231
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3232
         * map. See {@link AccountSessionCreateParams.Components.NotificationBanner#extraParams} for
3233
         * the field documentation.
3234
         */
3235
        public Builder putExtraParam(String key, Object value) {
3236
          if (this.extraParams == null) {
×
3237
            this.extraParams = new HashMap<>();
×
3238
          }
3239
          this.extraParams.put(key, value);
×
3240
          return this;
×
3241
        }
3242

3243
        /**
3244
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3245
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3246
         * map. See {@link AccountSessionCreateParams.Components.NotificationBanner#extraParams} for
3247
         * the field documentation.
3248
         */
3249
        public Builder putAllExtraParam(Map<String, Object> map) {
3250
          if (this.extraParams == null) {
×
3251
            this.extraParams = new HashMap<>();
×
3252
          }
3253
          this.extraParams.putAll(map);
×
3254
          return this;
×
3255
        }
3256

3257
        /** The list of features enabled in the embedded component. */
3258
        public Builder setFeatures(
3259
            AccountSessionCreateParams.Components.NotificationBanner.Features features) {
3260
          this.features = features;
×
3261
          return this;
×
3262
        }
3263
      }
3264

3265
      @Getter
3266
      public static class Features {
3267
        /**
3268
         * Disables Stripe user authentication for this embedded component. This feature can only be
3269
         * false for accounts where you’re responsible for collecting updated information when
3270
         * requirements are due or change, like custom accounts. The default value for this feature
3271
         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
3272
         * otherwise.
3273
         */
3274
        @SerializedName("disable_stripe_user_authentication")
3275
        Boolean disableStripeUserAuthentication;
3276

3277
        /**
3278
         * Whether to allow platforms to control bank account collection for their connected
3279
         * accounts. This feature can only be false for accounts where you’re responsible for
3280
         * collecting updated information when requirements are due or change, like custom accounts.
3281
         * Otherwise, bank account collection is determined by compliance requirements. The default
3282
         * value for this feature is {@code true}.
3283
         */
3284
        @SerializedName("external_account_collection")
3285
        Boolean externalAccountCollection;
3286

3287
        /**
3288
         * Map of extra parameters for custom features not available in this client library. The
3289
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3290
         * Instead, each key/value pair is serialized as if the key is a root-level field
3291
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3292
         * instance.
3293
         */
3294
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3295
        Map<String, Object> extraParams;
3296

3297
        private Features(
3298
            Boolean disableStripeUserAuthentication,
3299
            Boolean externalAccountCollection,
3300
            Map<String, Object> extraParams) {
×
3301
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
3302
          this.externalAccountCollection = externalAccountCollection;
×
3303
          this.extraParams = extraParams;
×
3304
        }
×
3305

3306
        public static Builder builder() {
3307
          return new Builder();
×
3308
        }
3309

3310
        public static class Builder {
×
3311
          private Boolean disableStripeUserAuthentication;
3312

3313
          private Boolean externalAccountCollection;
3314

3315
          private Map<String, Object> extraParams;
3316

3317
          /** Finalize and obtain parameter instance from this builder. */
3318
          public AccountSessionCreateParams.Components.NotificationBanner.Features build() {
3319
            return new AccountSessionCreateParams.Components.NotificationBanner.Features(
×
3320
                this.disableStripeUserAuthentication,
3321
                this.externalAccountCollection,
3322
                this.extraParams);
3323
          }
3324

3325
          /**
3326
           * Disables Stripe user authentication for this embedded component. This feature can only
3327
           * be false for accounts where you’re responsible for collecting updated information when
3328
           * requirements are due or change, like custom accounts. The default value for this
3329
           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
3330
           * true} otherwise.
3331
           */
3332
          public Builder setDisableStripeUserAuthentication(
3333
              Boolean disableStripeUserAuthentication) {
3334
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
3335
            return this;
×
3336
          }
3337

3338
          /**
3339
           * Whether to allow platforms to control bank account collection for their connected
3340
           * accounts. This feature can only be false for accounts where you’re responsible for
3341
           * collecting updated information when requirements are due or change, like custom
3342
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
3343
           * The default value for this feature is {@code true}.
3344
           */
3345
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
3346
            this.externalAccountCollection = externalAccountCollection;
×
3347
            return this;
×
3348
          }
3349

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

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

3383
    @Getter
3384
    public static class PaymentDetails {
3385
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3386
      @SerializedName("enabled")
3387
      Boolean enabled;
3388

3389
      /**
3390
       * Map of extra parameters for custom features not available in this client library. The
3391
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3392
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3393
       * name in this param object. Effectively, this map is flattened to its parent instance.
3394
       */
3395
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3396
      Map<String, Object> extraParams;
3397

3398
      /** The list of features enabled in the embedded component. */
3399
      @SerializedName("features")
3400
      Features features;
3401

3402
      private PaymentDetails(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3403
        this.enabled = enabled;
×
3404
        this.extraParams = extraParams;
×
3405
        this.features = features;
×
3406
      }
×
3407

3408
      public static Builder builder() {
3409
        return new Builder();
×
3410
      }
3411

3412
      public static class Builder {
×
3413
        private Boolean enabled;
3414

3415
        private Map<String, Object> extraParams;
3416

3417
        private Features features;
3418

3419
        /** Finalize and obtain parameter instance from this builder. */
3420
        public AccountSessionCreateParams.Components.PaymentDetails build() {
3421
          return new AccountSessionCreateParams.Components.PaymentDetails(
×
3422
              this.enabled, this.extraParams, this.features);
3423
        }
3424

3425
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3426
        public Builder setEnabled(Boolean enabled) {
3427
          this.enabled = enabled;
×
3428
          return this;
×
3429
        }
3430

3431
        /**
3432
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3433
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3434
         * map. See {@link AccountSessionCreateParams.Components.PaymentDetails#extraParams} for the
3435
         * field documentation.
3436
         */
3437
        public Builder putExtraParam(String key, Object value) {
3438
          if (this.extraParams == null) {
×
3439
            this.extraParams = new HashMap<>();
×
3440
          }
3441
          this.extraParams.put(key, value);
×
3442
          return this;
×
3443
        }
3444

3445
        /**
3446
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3447
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3448
         * map. See {@link AccountSessionCreateParams.Components.PaymentDetails#extraParams} for the
3449
         * field documentation.
3450
         */
3451
        public Builder putAllExtraParam(Map<String, Object> map) {
3452
          if (this.extraParams == null) {
×
3453
            this.extraParams = new HashMap<>();
×
3454
          }
3455
          this.extraParams.putAll(map);
×
3456
          return this;
×
3457
        }
3458

3459
        /** The list of features enabled in the embedded component. */
3460
        public Builder setFeatures(
3461
            AccountSessionCreateParams.Components.PaymentDetails.Features features) {
3462
          this.features = features;
×
3463
          return this;
×
3464
        }
3465
      }
3466

3467
      @Getter
3468
      public static class Features {
3469
        /**
3470
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3471
         * default.
3472
         */
3473
        @SerializedName("capture_payments")
3474
        Boolean capturePayments;
3475

3476
        /**
3477
         * Whether to allow connected accounts to manage destination charges that are created on
3478
         * behalf of them. This is {@code false} by default.
3479
         */
3480
        @SerializedName("destination_on_behalf_of_charge_management")
3481
        Boolean destinationOnBehalfOfChargeManagement;
3482

3483
        /**
3484
         * Whether to allow responding to disputes, including submitting evidence and accepting
3485
         * disputes. This is {@code true} by default.
3486
         */
3487
        @SerializedName("dispute_management")
3488
        Boolean disputeManagement;
3489

3490
        /**
3491
         * Map of extra parameters for custom features not available in this client library. The
3492
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3493
         * Instead, each key/value pair is serialized as if the key is a root-level field
3494
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3495
         * instance.
3496
         */
3497
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3498
        Map<String, Object> extraParams;
3499

3500
        /** Whether to allow sending refunds. This is {@code true} by default. */
3501
        @SerializedName("refund_management")
3502
        Boolean refundManagement;
3503

3504
        private Features(
3505
            Boolean capturePayments,
3506
            Boolean destinationOnBehalfOfChargeManagement,
3507
            Boolean disputeManagement,
3508
            Map<String, Object> extraParams,
3509
            Boolean refundManagement) {
×
3510
          this.capturePayments = capturePayments;
×
3511
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3512
          this.disputeManagement = disputeManagement;
×
3513
          this.extraParams = extraParams;
×
3514
          this.refundManagement = refundManagement;
×
3515
        }
×
3516

3517
        public static Builder builder() {
3518
          return new Builder();
×
3519
        }
3520

3521
        public static class Builder {
×
3522
          private Boolean capturePayments;
3523

3524
          private Boolean destinationOnBehalfOfChargeManagement;
3525

3526
          private Boolean disputeManagement;
3527

3528
          private Map<String, Object> extraParams;
3529

3530
          private Boolean refundManagement;
3531

3532
          /** Finalize and obtain parameter instance from this builder. */
3533
          public AccountSessionCreateParams.Components.PaymentDetails.Features build() {
3534
            return new AccountSessionCreateParams.Components.PaymentDetails.Features(
×
3535
                this.capturePayments,
3536
                this.destinationOnBehalfOfChargeManagement,
3537
                this.disputeManagement,
3538
                this.extraParams,
3539
                this.refundManagement);
3540
          }
3541

3542
          /**
3543
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3544
           * default.
3545
           */
3546
          public Builder setCapturePayments(Boolean capturePayments) {
3547
            this.capturePayments = capturePayments;
×
3548
            return this;
×
3549
          }
3550

3551
          /**
3552
           * Whether to allow connected accounts to manage destination charges that are created on
3553
           * behalf of them. This is {@code false} by default.
3554
           */
3555
          public Builder setDestinationOnBehalfOfChargeManagement(
3556
              Boolean destinationOnBehalfOfChargeManagement) {
3557
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3558
            return this;
×
3559
          }
3560

3561
          /**
3562
           * Whether to allow responding to disputes, including submitting evidence and accepting
3563
           * disputes. This is {@code true} by default.
3564
           */
3565
          public Builder setDisputeManagement(Boolean disputeManagement) {
3566
            this.disputeManagement = disputeManagement;
×
3567
            return this;
×
3568
          }
3569

3570
          /**
3571
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3572
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3573
           * map. See {@link
3574
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3575
           * field documentation.
3576
           */
3577
          public Builder putExtraParam(String key, Object value) {
3578
            if (this.extraParams == null) {
×
3579
              this.extraParams = new HashMap<>();
×
3580
            }
3581
            this.extraParams.put(key, value);
×
3582
            return this;
×
3583
          }
3584

3585
          /**
3586
           * Add all map key/value pairs 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
3589
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3590
           * field documentation.
3591
           */
3592
          public Builder putAllExtraParam(Map<String, Object> map) {
3593
            if (this.extraParams == null) {
×
3594
              this.extraParams = new HashMap<>();
×
3595
            }
3596
            this.extraParams.putAll(map);
×
3597
            return this;
×
3598
          }
3599

3600
          /** Whether to allow sending refunds. This is {@code true} by default. */
3601
          public Builder setRefundManagement(Boolean refundManagement) {
3602
            this.refundManagement = refundManagement;
×
3603
            return this;
×
3604
          }
3605
        }
3606
      }
3607
    }
3608

3609
    @Getter
3610
    public static class PaymentMethodSettings {
3611
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3612
      @SerializedName("enabled")
3613
      Boolean enabled;
3614

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

3624
      /** The list of features enabled in the embedded component. */
3625
      @SerializedName("features")
3626
      Features features;
3627

3628
      private PaymentMethodSettings(
3629
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3630
        this.enabled = enabled;
×
3631
        this.extraParams = extraParams;
×
3632
        this.features = features;
×
3633
      }
×
3634

3635
      public static Builder builder() {
3636
        return new Builder();
×
3637
      }
3638

3639
      public static class Builder {
×
3640
        private Boolean enabled;
3641

3642
        private Map<String, Object> extraParams;
3643

3644
        private Features features;
3645

3646
        /** Finalize and obtain parameter instance from this builder. */
3647
        public AccountSessionCreateParams.Components.PaymentMethodSettings build() {
3648
          return new AccountSessionCreateParams.Components.PaymentMethodSettings(
×
3649
              this.enabled, this.extraParams, this.features);
3650
        }
3651

3652
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3653
        public Builder setEnabled(Boolean enabled) {
3654
          this.enabled = enabled;
×
3655
          return this;
×
3656
        }
3657

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

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

3686
        /** The list of features enabled in the embedded component. */
3687
        public Builder setFeatures(
3688
            AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) {
3689
          this.features = features;
×
3690
          return this;
×
3691
        }
3692
      }
3693

3694
      @Getter
3695
      public static class Features {
3696
        /**
3697
         * Map of extra parameters for custom features not available in this client library. The
3698
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3699
         * Instead, each key/value pair is serialized as if the key is a root-level field
3700
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3701
         * instance.
3702
         */
3703
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3704
        Map<String, Object> extraParams;
3705

3706
        private Features(Map<String, Object> extraParams) {
×
3707
          this.extraParams = extraParams;
×
3708
        }
×
3709

3710
        public static Builder builder() {
3711
          return new Builder();
×
3712
        }
3713

3714
        public static class Builder {
×
3715
          private Map<String, Object> extraParams;
3716

3717
          /** Finalize and obtain parameter instance from this builder. */
3718
          public AccountSessionCreateParams.Components.PaymentMethodSettings.Features build() {
3719
            return new AccountSessionCreateParams.Components.PaymentMethodSettings.Features(
×
3720
                this.extraParams);
3721
          }
3722

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

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

3756
    @Getter
3757
    public static class Payments {
3758
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3759
      @SerializedName("enabled")
3760
      Boolean enabled;
3761

3762
      /**
3763
       * Map of extra parameters for custom features not available in this client library. The
3764
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3765
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3766
       * name in this param object. Effectively, this map is flattened to its parent instance.
3767
       */
3768
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3769
      Map<String, Object> extraParams;
3770

3771
      /** The list of features enabled in the embedded component. */
3772
      @SerializedName("features")
3773
      Features features;
3774

3775
      private Payments(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3776
        this.enabled = enabled;
×
3777
        this.extraParams = extraParams;
×
3778
        this.features = features;
×
3779
      }
×
3780

3781
      public static Builder builder() {
3782
        return new Builder();
×
3783
      }
3784

3785
      public static class Builder {
×
3786
        private Boolean enabled;
3787

3788
        private Map<String, Object> extraParams;
3789

3790
        private Features features;
3791

3792
        /** Finalize and obtain parameter instance from this builder. */
3793
        public AccountSessionCreateParams.Components.Payments build() {
3794
          return new AccountSessionCreateParams.Components.Payments(
×
3795
              this.enabled, this.extraParams, this.features);
3796
        }
3797

3798
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3799
        public Builder setEnabled(Boolean enabled) {
3800
          this.enabled = enabled;
×
3801
          return this;
×
3802
        }
3803

3804
        /**
3805
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3806
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3807
         * map. See {@link AccountSessionCreateParams.Components.Payments#extraParams} for the field
3808
         * documentation.
3809
         */
3810
        public Builder putExtraParam(String key, Object value) {
3811
          if (this.extraParams == null) {
×
3812
            this.extraParams = new HashMap<>();
×
3813
          }
3814
          this.extraParams.put(key, value);
×
3815
          return this;
×
3816
        }
3817

3818
        /**
3819
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3820
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3821
         * map. See {@link AccountSessionCreateParams.Components.Payments#extraParams} for the field
3822
         * documentation.
3823
         */
3824
        public Builder putAllExtraParam(Map<String, Object> map) {
3825
          if (this.extraParams == null) {
×
3826
            this.extraParams = new HashMap<>();
×
3827
          }
3828
          this.extraParams.putAll(map);
×
3829
          return this;
×
3830
        }
3831

3832
        /** The list of features enabled in the embedded component. */
3833
        public Builder setFeatures(
3834
            AccountSessionCreateParams.Components.Payments.Features features) {
3835
          this.features = features;
×
3836
          return this;
×
3837
        }
3838
      }
3839

3840
      @Getter
3841
      public static class Features {
3842
        /**
3843
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3844
         * default.
3845
         */
3846
        @SerializedName("capture_payments")
3847
        Boolean capturePayments;
3848

3849
        /**
3850
         * Whether to allow connected accounts to manage destination charges that are created on
3851
         * behalf of them. This is {@code false} by default.
3852
         */
3853
        @SerializedName("destination_on_behalf_of_charge_management")
3854
        Boolean destinationOnBehalfOfChargeManagement;
3855

3856
        /**
3857
         * Whether to allow responding to disputes, including submitting evidence and accepting
3858
         * disputes. This is {@code true} by default.
3859
         */
3860
        @SerializedName("dispute_management")
3861
        Boolean disputeManagement;
3862

3863
        /**
3864
         * Map of extra parameters for custom features not available in this client library. The
3865
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3866
         * Instead, each key/value pair is serialized as if the key is a root-level field
3867
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3868
         * instance.
3869
         */
3870
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3871
        Map<String, Object> extraParams;
3872

3873
        /** Whether to allow sending refunds. This is {@code true} by default. */
3874
        @SerializedName("refund_management")
3875
        Boolean refundManagement;
3876

3877
        private Features(
3878
            Boolean capturePayments,
3879
            Boolean destinationOnBehalfOfChargeManagement,
3880
            Boolean disputeManagement,
3881
            Map<String, Object> extraParams,
3882
            Boolean refundManagement) {
×
3883
          this.capturePayments = capturePayments;
×
3884
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3885
          this.disputeManagement = disputeManagement;
×
3886
          this.extraParams = extraParams;
×
3887
          this.refundManagement = refundManagement;
×
3888
        }
×
3889

3890
        public static Builder builder() {
3891
          return new Builder();
×
3892
        }
3893

3894
        public static class Builder {
×
3895
          private Boolean capturePayments;
3896

3897
          private Boolean destinationOnBehalfOfChargeManagement;
3898

3899
          private Boolean disputeManagement;
3900

3901
          private Map<String, Object> extraParams;
3902

3903
          private Boolean refundManagement;
3904

3905
          /** Finalize and obtain parameter instance from this builder. */
3906
          public AccountSessionCreateParams.Components.Payments.Features build() {
3907
            return new AccountSessionCreateParams.Components.Payments.Features(
×
3908
                this.capturePayments,
3909
                this.destinationOnBehalfOfChargeManagement,
3910
                this.disputeManagement,
3911
                this.extraParams,
3912
                this.refundManagement);
3913
          }
3914

3915
          /**
3916
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3917
           * default.
3918
           */
3919
          public Builder setCapturePayments(Boolean capturePayments) {
3920
            this.capturePayments = capturePayments;
×
3921
            return this;
×
3922
          }
3923

3924
          /**
3925
           * Whether to allow connected accounts to manage destination charges that are created on
3926
           * behalf of them. This is {@code false} by default.
3927
           */
3928
          public Builder setDestinationOnBehalfOfChargeManagement(
3929
              Boolean destinationOnBehalfOfChargeManagement) {
3930
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3931
            return this;
×
3932
          }
3933

3934
          /**
3935
           * Whether to allow responding to disputes, including submitting evidence and accepting
3936
           * disputes. This is {@code true} by default.
3937
           */
3938
          public Builder setDisputeManagement(Boolean disputeManagement) {
3939
            this.disputeManagement = disputeManagement;
×
3940
            return this;
×
3941
          }
3942

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

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

3971
          /** Whether to allow sending refunds. This is {@code true} by default. */
3972
          public Builder setRefundManagement(Boolean refundManagement) {
3973
            this.refundManagement = refundManagement;
×
3974
            return this;
×
3975
          }
3976
        }
3977
      }
3978
    }
3979

3980
    @Getter
3981
    public static class Payouts {
3982
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3983
      @SerializedName("enabled")
3984
      Boolean enabled;
3985

3986
      /**
3987
       * Map of extra parameters for custom features not available in this client library. The
3988
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3989
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3990
       * name in this param object. Effectively, this map is flattened to its parent instance.
3991
       */
3992
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3993
      Map<String, Object> extraParams;
3994

3995
      /** The list of features enabled in the embedded component. */
3996
      @SerializedName("features")
3997
      Features features;
3998

3999
      private Payouts(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4000
        this.enabled = enabled;
×
4001
        this.extraParams = extraParams;
×
4002
        this.features = features;
×
4003
      }
×
4004

4005
      public static Builder builder() {
4006
        return new Builder();
×
4007
      }
4008

4009
      public static class Builder {
×
4010
        private Boolean enabled;
4011

4012
        private Map<String, Object> extraParams;
4013

4014
        private Features features;
4015

4016
        /** Finalize and obtain parameter instance from this builder. */
4017
        public AccountSessionCreateParams.Components.Payouts build() {
4018
          return new AccountSessionCreateParams.Components.Payouts(
×
4019
              this.enabled, this.extraParams, this.features);
4020
        }
4021

4022
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4023
        public Builder setEnabled(Boolean enabled) {
4024
          this.enabled = enabled;
×
4025
          return this;
×
4026
        }
4027

4028
        /**
4029
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4030
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4031
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
4032
         * documentation.
4033
         */
4034
        public Builder putExtraParam(String key, Object value) {
4035
          if (this.extraParams == null) {
×
4036
            this.extraParams = new HashMap<>();
×
4037
          }
4038
          this.extraParams.put(key, value);
×
4039
          return this;
×
4040
        }
4041

4042
        /**
4043
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4044
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4045
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
4046
         * documentation.
4047
         */
4048
        public Builder putAllExtraParam(Map<String, Object> map) {
4049
          if (this.extraParams == null) {
×
4050
            this.extraParams = new HashMap<>();
×
4051
          }
4052
          this.extraParams.putAll(map);
×
4053
          return this;
×
4054
        }
4055

4056
        /** The list of features enabled in the embedded component. */
4057
        public Builder setFeatures(
4058
            AccountSessionCreateParams.Components.Payouts.Features features) {
4059
          this.features = features;
×
4060
          return this;
×
4061
        }
4062
      }
4063

4064
      @Getter
4065
      public static class Features {
4066
        /**
4067
         * Disables Stripe user authentication for this embedded component. This feature can only be
4068
         * false for accounts where you’re responsible for collecting updated information when
4069
         * requirements are due or change, like custom accounts. The default value for this feature
4070
         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
4071
         * otherwise.
4072
         */
4073
        @SerializedName("disable_stripe_user_authentication")
4074
        Boolean disableStripeUserAuthentication;
4075

4076
        /**
4077
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4078
         * Loss Liability, default {@code false} otherwise.
4079
         */
4080
        @SerializedName("edit_payout_schedule")
4081
        Boolean editPayoutSchedule;
4082

4083
        /**
4084
         * Whether to allow platforms to control bank account collection for their connected
4085
         * accounts. This feature can only be false for accounts where you’re responsible for
4086
         * collecting updated information when requirements are due or change, like custom accounts.
4087
         * Otherwise, bank account collection is determined by compliance requirements. The default
4088
         * value for this feature is {@code true}.
4089
         */
4090
        @SerializedName("external_account_collection")
4091
        Boolean externalAccountCollection;
4092

4093
        /**
4094
         * Map of extra parameters for custom features not available in this client library. The
4095
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4096
         * Instead, each key/value pair is serialized as if the key is a root-level field
4097
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4098
         * instance.
4099
         */
4100
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4101
        Map<String, Object> extraParams;
4102

4103
        /**
4104
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
4105
         * Liability, default {@code false} otherwise.
4106
         */
4107
        @SerializedName("instant_payouts")
4108
        Boolean instantPayouts;
4109

4110
        /**
4111
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
4112
         * Liability, default {@code false} otherwise.
4113
         */
4114
        @SerializedName("standard_payouts")
4115
        Boolean standardPayouts;
4116

4117
        private Features(
4118
            Boolean disableStripeUserAuthentication,
4119
            Boolean editPayoutSchedule,
4120
            Boolean externalAccountCollection,
4121
            Map<String, Object> extraParams,
4122
            Boolean instantPayouts,
4123
            Boolean standardPayouts) {
×
4124
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
4125
          this.editPayoutSchedule = editPayoutSchedule;
×
4126
          this.externalAccountCollection = externalAccountCollection;
×
4127
          this.extraParams = extraParams;
×
4128
          this.instantPayouts = instantPayouts;
×
4129
          this.standardPayouts = standardPayouts;
×
4130
        }
×
4131

4132
        public static Builder builder() {
4133
          return new Builder();
×
4134
        }
4135

4136
        public static class Builder {
×
4137
          private Boolean disableStripeUserAuthentication;
4138

4139
          private Boolean editPayoutSchedule;
4140

4141
          private Boolean externalAccountCollection;
4142

4143
          private Map<String, Object> extraParams;
4144

4145
          private Boolean instantPayouts;
4146

4147
          private Boolean standardPayouts;
4148

4149
          /** Finalize and obtain parameter instance from this builder. */
4150
          public AccountSessionCreateParams.Components.Payouts.Features build() {
4151
            return new AccountSessionCreateParams.Components.Payouts.Features(
×
4152
                this.disableStripeUserAuthentication,
4153
                this.editPayoutSchedule,
4154
                this.externalAccountCollection,
4155
                this.extraParams,
4156
                this.instantPayouts,
4157
                this.standardPayouts);
4158
          }
4159

4160
          /**
4161
           * Disables Stripe user authentication for this embedded component. This feature can only
4162
           * be false for accounts where you’re responsible for collecting updated information when
4163
           * requirements are due or change, like custom accounts. The default value for this
4164
           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
4165
           * true} otherwise.
4166
           */
4167
          public Builder setDisableStripeUserAuthentication(
4168
              Boolean disableStripeUserAuthentication) {
4169
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
4170
            return this;
×
4171
          }
4172

4173
          /**
4174
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4175
           * Loss Liability, default {@code false} otherwise.
4176
           */
4177
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
4178
            this.editPayoutSchedule = editPayoutSchedule;
×
4179
            return this;
×
4180
          }
4181

4182
          /**
4183
           * Whether to allow platforms to control bank account collection for their connected
4184
           * accounts. This feature can only be false for accounts where you’re responsible for
4185
           * collecting updated information when requirements are due or change, like custom
4186
           * accounts. Otherwise, bank account collection is determined by compliance requirements.
4187
           * The default value for this feature is {@code true}.
4188
           */
4189
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
4190
            this.externalAccountCollection = externalAccountCollection;
×
4191
            return this;
×
4192
          }
4193

4194
          /**
4195
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4196
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4197
           * map. See {@link AccountSessionCreateParams.Components.Payouts.Features#extraParams} for
4198
           * the field documentation.
4199
           */
4200
          public Builder putExtraParam(String key, Object value) {
4201
            if (this.extraParams == null) {
×
4202
              this.extraParams = new HashMap<>();
×
4203
            }
4204
            this.extraParams.put(key, value);
×
4205
            return this;
×
4206
          }
4207

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

4222
          /**
4223
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
4224
           * Loss Liability, default {@code false} otherwise.
4225
           */
4226
          public Builder setInstantPayouts(Boolean instantPayouts) {
4227
            this.instantPayouts = instantPayouts;
×
4228
            return this;
×
4229
          }
4230

4231
          /**
4232
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
4233
           * Loss Liability, default {@code false} otherwise.
4234
           */
4235
          public Builder setStandardPayouts(Boolean standardPayouts) {
4236
            this.standardPayouts = standardPayouts;
×
4237
            return this;
×
4238
          }
4239
        }
4240
      }
4241
    }
4242

4243
    @Getter
4244
    public static class PayoutsList {
4245
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4246
      @SerializedName("enabled")
4247
      Boolean enabled;
4248

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

4258
      /** The list of features enabled in the embedded component. */
4259
      @SerializedName("features")
4260
      Features features;
4261

4262
      private PayoutsList(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4263
        this.enabled = enabled;
×
4264
        this.extraParams = extraParams;
×
4265
        this.features = features;
×
4266
      }
×
4267

4268
      public static Builder builder() {
4269
        return new Builder();
×
4270
      }
4271

4272
      public static class Builder {
×
4273
        private Boolean enabled;
4274

4275
        private Map<String, Object> extraParams;
4276

4277
        private Features features;
4278

4279
        /** Finalize and obtain parameter instance from this builder. */
4280
        public AccountSessionCreateParams.Components.PayoutsList build() {
4281
          return new AccountSessionCreateParams.Components.PayoutsList(
×
4282
              this.enabled, this.extraParams, this.features);
4283
        }
4284

4285
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4286
        public Builder setEnabled(Boolean enabled) {
4287
          this.enabled = enabled;
×
4288
          return this;
×
4289
        }
4290

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

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

4319
        /** The list of features enabled in the embedded component. */
4320
        public Builder setFeatures(
4321
            AccountSessionCreateParams.Components.PayoutsList.Features features) {
4322
          this.features = features;
×
4323
          return this;
×
4324
        }
4325
      }
4326

4327
      @Getter
4328
      public static class Features {
4329
        /**
4330
         * Map of extra parameters for custom features not available in this client library. The
4331
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4332
         * Instead, each key/value pair is serialized as if the key is a root-level field
4333
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4334
         * instance.
4335
         */
4336
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4337
        Map<String, Object> extraParams;
4338

4339
        private Features(Map<String, Object> extraParams) {
×
4340
          this.extraParams = extraParams;
×
4341
        }
×
4342

4343
        public static Builder builder() {
4344
          return new Builder();
×
4345
        }
4346

4347
        public static class Builder {
×
4348
          private Map<String, Object> extraParams;
4349

4350
          /** Finalize and obtain parameter instance from this builder. */
4351
          public AccountSessionCreateParams.Components.PayoutsList.Features build() {
4352
            return new AccountSessionCreateParams.Components.PayoutsList.Features(this.extraParams);
×
4353
          }
4354

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

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

4386
    @Getter
4387
    public static class Recipients {
4388
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4389
      @SerializedName("enabled")
4390
      Boolean enabled;
4391

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

4401
      @SerializedName("features")
4402
      Features features;
4403

4404
      private Recipients(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4405
        this.enabled = enabled;
×
4406
        this.extraParams = extraParams;
×
4407
        this.features = features;
×
4408
      }
×
4409

4410
      public static Builder builder() {
4411
        return new Builder();
×
4412
      }
4413

4414
      public static class Builder {
×
4415
        private Boolean enabled;
4416

4417
        private Map<String, Object> extraParams;
4418

4419
        private Features features;
4420

4421
        /** Finalize and obtain parameter instance from this builder. */
4422
        public AccountSessionCreateParams.Components.Recipients build() {
4423
          return new AccountSessionCreateParams.Components.Recipients(
×
4424
              this.enabled, this.extraParams, this.features);
4425
        }
4426

4427
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4428
        public Builder setEnabled(Boolean enabled) {
4429
          this.enabled = enabled;
×
4430
          return this;
×
4431
        }
4432

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

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

4461
        public Builder setFeatures(
4462
            AccountSessionCreateParams.Components.Recipients.Features features) {
4463
          this.features = features;
×
4464
          return this;
×
4465
        }
4466
      }
4467

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

4480
        /** Whether to allow sending money. */
4481
        @SerializedName("send_money")
4482
        Boolean sendMoney;
4483

4484
        private Features(Map<String, Object> extraParams, Boolean sendMoney) {
×
4485
          this.extraParams = extraParams;
×
4486
          this.sendMoney = sendMoney;
×
4487
        }
×
4488

4489
        public static Builder builder() {
4490
          return new Builder();
×
4491
        }
4492

4493
        public static class Builder {
×
4494
          private Map<String, Object> extraParams;
4495

4496
          private Boolean sendMoney;
4497

4498
          /** Finalize and obtain parameter instance from this builder. */
4499
          public AccountSessionCreateParams.Components.Recipients.Features build() {
4500
            return new AccountSessionCreateParams.Components.Recipients.Features(
×
4501
                this.extraParams, this.sendMoney);
4502
          }
4503

4504
          /**
4505
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4506
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4507
           * map. See {@link AccountSessionCreateParams.Components.Recipients.Features#extraParams}
4508
           * for the field documentation.
4509
           */
4510
          public Builder putExtraParam(String key, Object value) {
4511
            if (this.extraParams == null) {
×
4512
              this.extraParams = new HashMap<>();
×
4513
            }
4514
            this.extraParams.put(key, value);
×
4515
            return this;
×
4516
          }
4517

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

4532
          /** Whether to allow sending money. */
4533
          public Builder setSendMoney(Boolean sendMoney) {
4534
            this.sendMoney = sendMoney;
×
4535
            return this;
×
4536
          }
4537
        }
4538
      }
4539
    }
4540

4541
    @Getter
4542
    public static class ReportingChart {
4543
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4544
      @SerializedName("enabled")
4545
      Boolean enabled;
4546

4547
      /**
4548
       * Map of extra parameters for custom features not available in this client library. The
4549
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4550
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4551
       * name in this param object. Effectively, this map is flattened to its parent instance.
4552
       */
4553
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4554
      Map<String, Object> extraParams;
4555

4556
      /** The list of features enabled in the embedded component. */
4557
      @SerializedName("features")
4558
      Features features;
4559

4560
      private ReportingChart(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4561
        this.enabled = enabled;
×
4562
        this.extraParams = extraParams;
×
4563
        this.features = features;
×
4564
      }
×
4565

4566
      public static Builder builder() {
4567
        return new Builder();
×
4568
      }
4569

4570
      public static class Builder {
×
4571
        private Boolean enabled;
4572

4573
        private Map<String, Object> extraParams;
4574

4575
        private Features features;
4576

4577
        /** Finalize and obtain parameter instance from this builder. */
4578
        public AccountSessionCreateParams.Components.ReportingChart build() {
4579
          return new AccountSessionCreateParams.Components.ReportingChart(
×
4580
              this.enabled, this.extraParams, this.features);
4581
        }
4582

4583
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4584
        public Builder setEnabled(Boolean enabled) {
4585
          this.enabled = enabled;
×
4586
          return this;
×
4587
        }
4588

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

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

4617
        /** The list of features enabled in the embedded component. */
4618
        public Builder setFeatures(
4619
            AccountSessionCreateParams.Components.ReportingChart.Features features) {
4620
          this.features = features;
×
4621
          return this;
×
4622
        }
4623
      }
4624

4625
      @Getter
4626
      public static class Features {
4627
        /**
4628
         * Map of extra parameters for custom features not available in this client library. The
4629
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4630
         * Instead, each key/value pair is serialized as if the key is a root-level field
4631
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4632
         * instance.
4633
         */
4634
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4635
        Map<String, Object> extraParams;
4636

4637
        private Features(Map<String, Object> extraParams) {
×
4638
          this.extraParams = extraParams;
×
4639
        }
×
4640

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

4645
        public static class Builder {
×
4646
          private Map<String, Object> extraParams;
4647

4648
          /** Finalize and obtain parameter instance from this builder. */
4649
          public AccountSessionCreateParams.Components.ReportingChart.Features build() {
4650
            return new AccountSessionCreateParams.Components.ReportingChart.Features(
×
4651
                this.extraParams);
4652
          }
4653

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

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

4687
    @Getter
4688
    public static class TaxRegistrations {
4689
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4690
      @SerializedName("enabled")
4691
      Boolean enabled;
4692

4693
      /**
4694
       * Map of extra parameters for custom features not available in this client library. The
4695
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4696
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4697
       * name in this param object. Effectively, this map is flattened to its parent instance.
4698
       */
4699
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4700
      Map<String, Object> extraParams;
4701

4702
      /** The list of features enabled in the embedded component. */
4703
      @SerializedName("features")
4704
      Features features;
4705

4706
      private TaxRegistrations(
4707
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4708
        this.enabled = enabled;
×
4709
        this.extraParams = extraParams;
×
4710
        this.features = features;
×
4711
      }
×
4712

4713
      public static Builder builder() {
4714
        return new Builder();
×
4715
      }
4716

4717
      public static class Builder {
×
4718
        private Boolean enabled;
4719

4720
        private Map<String, Object> extraParams;
4721

4722
        private Features features;
4723

4724
        /** Finalize and obtain parameter instance from this builder. */
4725
        public AccountSessionCreateParams.Components.TaxRegistrations build() {
4726
          return new AccountSessionCreateParams.Components.TaxRegistrations(
×
4727
              this.enabled, this.extraParams, this.features);
4728
        }
4729

4730
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4731
        public Builder setEnabled(Boolean enabled) {
4732
          this.enabled = enabled;
×
4733
          return this;
×
4734
        }
4735

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

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

4764
        /** The list of features enabled in the embedded component. */
4765
        public Builder setFeatures(
4766
            AccountSessionCreateParams.Components.TaxRegistrations.Features features) {
4767
          this.features = features;
×
4768
          return this;
×
4769
        }
4770
      }
4771

4772
      @Getter
4773
      public static class Features {
4774
        /**
4775
         * Map of extra parameters for custom features not available in this client library. The
4776
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4777
         * Instead, each key/value pair is serialized as if the key is a root-level field
4778
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4779
         * instance.
4780
         */
4781
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4782
        Map<String, Object> extraParams;
4783

4784
        private Features(Map<String, Object> extraParams) {
×
4785
          this.extraParams = extraParams;
×
4786
        }
×
4787

4788
        public static Builder builder() {
4789
          return new Builder();
×
4790
        }
4791

4792
        public static class Builder {
×
4793
          private Map<String, Object> extraParams;
4794

4795
          /** Finalize and obtain parameter instance from this builder. */
4796
          public AccountSessionCreateParams.Components.TaxRegistrations.Features build() {
4797
            return new AccountSessionCreateParams.Components.TaxRegistrations.Features(
×
4798
                this.extraParams);
4799
          }
4800

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

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

4834
    @Getter
4835
    public static class TaxSettings {
4836
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4837
      @SerializedName("enabled")
4838
      Boolean enabled;
4839

4840
      /**
4841
       * Map of extra parameters for custom features not available in this client library. The
4842
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4843
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4844
       * name in this param object. Effectively, this map is flattened to its parent instance.
4845
       */
4846
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4847
      Map<String, Object> extraParams;
4848

4849
      /** The list of features enabled in the embedded component. */
4850
      @SerializedName("features")
4851
      Features features;
4852

4853
      private TaxSettings(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4854
        this.enabled = enabled;
×
4855
        this.extraParams = extraParams;
×
4856
        this.features = features;
×
4857
      }
×
4858

4859
      public static Builder builder() {
4860
        return new Builder();
×
4861
      }
4862

4863
      public static class Builder {
×
4864
        private Boolean enabled;
4865

4866
        private Map<String, Object> extraParams;
4867

4868
        private Features features;
4869

4870
        /** Finalize and obtain parameter instance from this builder. */
4871
        public AccountSessionCreateParams.Components.TaxSettings build() {
4872
          return new AccountSessionCreateParams.Components.TaxSettings(
×
4873
              this.enabled, this.extraParams, this.features);
4874
        }
4875

4876
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4877
        public Builder setEnabled(Boolean enabled) {
4878
          this.enabled = enabled;
×
4879
          return this;
×
4880
        }
4881

4882
        /**
4883
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4884
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4885
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4886
         * field documentation.
4887
         */
4888
        public Builder putExtraParam(String key, Object value) {
4889
          if (this.extraParams == null) {
×
4890
            this.extraParams = new HashMap<>();
×
4891
          }
4892
          this.extraParams.put(key, value);
×
4893
          return this;
×
4894
        }
4895

4896
        /**
4897
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4898
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4899
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4900
         * field documentation.
4901
         */
4902
        public Builder putAllExtraParam(Map<String, Object> map) {
4903
          if (this.extraParams == null) {
×
4904
            this.extraParams = new HashMap<>();
×
4905
          }
4906
          this.extraParams.putAll(map);
×
4907
          return this;
×
4908
        }
4909

4910
        /** The list of features enabled in the embedded component. */
4911
        public Builder setFeatures(
4912
            AccountSessionCreateParams.Components.TaxSettings.Features features) {
4913
          this.features = features;
×
4914
          return this;
×
4915
        }
4916
      }
4917

4918
      @Getter
4919
      public static class Features {
4920
        /**
4921
         * Map of extra parameters for custom features not available in this client library. The
4922
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4923
         * Instead, each key/value pair is serialized as if the key is a root-level field
4924
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4925
         * instance.
4926
         */
4927
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4928
        Map<String, Object> extraParams;
4929

4930
        private Features(Map<String, Object> extraParams) {
×
4931
          this.extraParams = extraParams;
×
4932
        }
×
4933

4934
        public static Builder builder() {
4935
          return new Builder();
×
4936
        }
4937

4938
        public static class Builder {
×
4939
          private Map<String, Object> extraParams;
4940

4941
          /** Finalize and obtain parameter instance from this builder. */
4942
          public AccountSessionCreateParams.Components.TaxSettings.Features build() {
4943
            return new AccountSessionCreateParams.Components.TaxSettings.Features(this.extraParams);
×
4944
          }
4945

4946
          /**
4947
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4948
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4949
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4950
           * for the field documentation.
4951
           */
4952
          public Builder putExtraParam(String key, Object value) {
4953
            if (this.extraParams == null) {
×
4954
              this.extraParams = new HashMap<>();
×
4955
            }
4956
            this.extraParams.put(key, value);
×
4957
            return this;
×
4958
          }
4959

4960
          /**
4961
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4962
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4963
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4964
           * for the field documentation.
4965
           */
4966
          public Builder putAllExtraParam(Map<String, Object> map) {
4967
            if (this.extraParams == null) {
×
4968
              this.extraParams = new HashMap<>();
×
4969
            }
4970
            this.extraParams.putAll(map);
×
4971
            return this;
×
4972
          }
4973
        }
4974
      }
4975
    }
4976
  }
4977
}
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