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

stripe / stripe-java / #16493

03 Oct 2024 07:15PM UTC coverage: 12.942% (+0.08%) from 12.864%
#16493

push

github

web-flow
Merge Stripe-java v27.0.0 to beta branch (#1888)

409 of 1651 new or added lines in 88 files covered. (24.77%)

31 existing lines in 7 files now uncovered.

18773 of 145050 relevant lines covered (12.94%)

0.13 hits per line

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

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

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

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

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

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

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

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

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

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

54
    private Components components;
55

56
    private List<String> expand;
57

58
    private Map<String, Object> extraParams;
59

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

302
      private AccountOnboarding accountOnboarding;
303

304
      private AppInstall appInstall;
305

306
      private AppViewport appViewport;
307

308
      private Balances balances;
309

310
      private CapitalFinancing capitalFinancing;
311

312
      private CapitalFinancingApplication capitalFinancingApplication;
313

314
      private CapitalFinancingPromotion capitalFinancingPromotion;
315

316
      private CapitalOverview capitalOverview;
317

318
      private Documents documents;
319

320
      private Map<String, Object> extraParams;
321

322
      private FinancialAccount financialAccount;
323

324
      private FinancialAccountTransactions financialAccountTransactions;
325

326
      private IssuingCard issuingCard;
327

328
      private IssuingCardsList issuingCardsList;
329

330
      private NotificationBanner notificationBanner;
331

332
      private PaymentDetails paymentDetails;
333

334
      private PaymentMethodSettings paymentMethodSettings;
335

336
      private Payments payments;
337

338
      private Payouts payouts;
339

340
      private PayoutsList payoutsList;
341

342
      private Recipients recipients;
343

344
      private ReportingChart reportingChart;
345

346
      private TaxRegistrations taxRegistrations;
347

348
      private TaxSettings taxSettings;
349

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

600
        private Map<String, Object> extraParams;
601

602
        private Features features;
603

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

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

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

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

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

652
      @Getter
653
      public static class Features {
654
        /**
655
         * Whether to allow platforms to control bank account collection for their connected
656
         * accounts. This feature can only be false for custom accounts (or accounts where the
657
         * platform is compliance owner). Otherwise, bank account collection is determined by
658
         * compliance requirements.
659
         */
660
        @SerializedName("external_account_collection")
661
        Boolean externalAccountCollection;
662

663
        /**
664
         * Map of extra parameters for custom features not available in this client library. The
665
         * content in this map is not serialized under this field's {@code @SerializedName} value.
666
         * Instead, each key/value pair is serialized as if the key is a root-level field
667
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
668
         * instance.
669
         */
670
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
671
        Map<String, Object> extraParams;
672

673
        private Features(Boolean externalAccountCollection, Map<String, Object> extraParams) {
×
674
          this.externalAccountCollection = externalAccountCollection;
×
675
          this.extraParams = extraParams;
×
676
        }
×
677

678
        public static Builder builder() {
679
          return new Builder();
×
680
        }
681

682
        public static class Builder {
×
683
          private Boolean externalAccountCollection;
684

685
          private Map<String, Object> extraParams;
686

687
          /** Finalize and obtain parameter instance from this builder. */
688
          public AccountSessionCreateParams.Components.AccountManagement.Features build() {
689
            return new AccountSessionCreateParams.Components.AccountManagement.Features(
×
690
                this.externalAccountCollection, this.extraParams);
691
          }
692

693
          /**
694
           * Whether to allow platforms to control bank account collection for their connected
695
           * accounts. This feature can only be false for custom accounts (or accounts where the
696
           * platform is compliance owner). Otherwise, bank account collection is determined by
697
           * compliance requirements.
698
           */
699
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
700
            this.externalAccountCollection = externalAccountCollection;
×
701
            return this;
×
702
          }
703

704
          /**
705
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
706
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
707
           * map. See {@link
708
           * AccountSessionCreateParams.Components.AccountManagement.Features#extraParams} for the
709
           * field documentation.
710
           */
711
          public Builder putExtraParam(String key, Object value) {
712
            if (this.extraParams == null) {
×
713
              this.extraParams = new HashMap<>();
×
714
            }
715
            this.extraParams.put(key, value);
×
716
            return this;
×
717
          }
718

719
          /**
720
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
721
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
722
           * map. See {@link
723
           * AccountSessionCreateParams.Components.AccountManagement.Features#extraParams} for the
724
           * field documentation.
725
           */
726
          public Builder putAllExtraParam(Map<String, Object> map) {
727
            if (this.extraParams == null) {
×
728
              this.extraParams = new HashMap<>();
×
729
            }
730
            this.extraParams.putAll(map);
×
731
            return this;
×
732
          }
733
        }
734
      }
735
    }
736

737
    @Getter
738
    public static class AccountOnboarding {
739
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
740
      @SerializedName("enabled")
741
      Boolean enabled;
742

743
      /**
744
       * Map of extra parameters for custom features not available in this client library. The
745
       * content in this map is not serialized under this field's {@code @SerializedName} value.
746
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
747
       * name in this param object. Effectively, this map is flattened to its parent instance.
748
       */
749
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
750
      Map<String, Object> extraParams;
751

752
      /** The list of features enabled in the embedded component. */
753
      @SerializedName("features")
754
      Features features;
755

756
      private AccountOnboarding(
757
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
758
        this.enabled = enabled;
×
759
        this.extraParams = extraParams;
×
760
        this.features = features;
×
761
      }
×
762

763
      public static Builder builder() {
764
        return new Builder();
×
765
      }
766

767
      public static class Builder {
×
768
        private Boolean enabled;
769

770
        private Map<String, Object> extraParams;
771

772
        private Features features;
773

774
        /** Finalize and obtain parameter instance from this builder. */
775
        public AccountSessionCreateParams.Components.AccountOnboarding build() {
776
          return new AccountSessionCreateParams.Components.AccountOnboarding(
×
777
              this.enabled, this.extraParams, this.features);
778
        }
779

780
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
781
        public Builder setEnabled(Boolean enabled) {
782
          this.enabled = enabled;
×
783
          return this;
×
784
        }
785

786
        /**
787
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
788
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
789
         * map. See {@link AccountSessionCreateParams.Components.AccountOnboarding#extraParams} for
790
         * the field documentation.
791
         */
792
        public Builder putExtraParam(String key, Object value) {
793
          if (this.extraParams == null) {
×
794
            this.extraParams = new HashMap<>();
×
795
          }
796
          this.extraParams.put(key, value);
×
797
          return this;
×
798
        }
799

800
        /**
801
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
802
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
803
         * map. See {@link AccountSessionCreateParams.Components.AccountOnboarding#extraParams} for
804
         * the field documentation.
805
         */
806
        public Builder putAllExtraParam(Map<String, Object> map) {
807
          if (this.extraParams == null) {
×
808
            this.extraParams = new HashMap<>();
×
809
          }
810
          this.extraParams.putAll(map);
×
811
          return this;
×
812
        }
813

814
        /** The list of features enabled in the embedded component. */
815
        public Builder setFeatures(
816
            AccountSessionCreateParams.Components.AccountOnboarding.Features features) {
817
          this.features = features;
×
818
          return this;
×
819
        }
820
      }
821

822
      @Getter
823
      public static class Features {
824
        /**
825
         * Whether to allow platforms to control bank account collection for their connected
826
         * accounts. This feature can only be false for custom accounts (or accounts where the
827
         * platform is compliance owner). Otherwise, bank account collection is determined by
828
         * compliance requirements.
829
         */
830
        @SerializedName("external_account_collection")
831
        Boolean externalAccountCollection;
832

833
        /**
834
         * Map of extra parameters for custom features not available in this client library. The
835
         * content in this map is not serialized under this field's {@code @SerializedName} value.
836
         * Instead, each key/value pair is serialized as if the key is a root-level field
837
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
838
         * instance.
839
         */
840
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
841
        Map<String, Object> extraParams;
842

843
        private Features(Boolean externalAccountCollection, Map<String, Object> extraParams) {
×
844
          this.externalAccountCollection = externalAccountCollection;
×
845
          this.extraParams = extraParams;
×
846
        }
×
847

848
        public static Builder builder() {
849
          return new Builder();
×
850
        }
851

852
        public static class Builder {
×
853
          private Boolean externalAccountCollection;
854

855
          private Map<String, Object> extraParams;
856

857
          /** Finalize and obtain parameter instance from this builder. */
858
          public AccountSessionCreateParams.Components.AccountOnboarding.Features build() {
859
            return new AccountSessionCreateParams.Components.AccountOnboarding.Features(
×
860
                this.externalAccountCollection, this.extraParams);
861
          }
862

863
          /**
864
           * Whether to allow platforms to control bank account collection for their connected
865
           * accounts. This feature can only be false for custom accounts (or accounts where the
866
           * platform is compliance owner). Otherwise, bank account collection is determined by
867
           * compliance requirements.
868
           */
869
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
870
            this.externalAccountCollection = externalAccountCollection;
×
871
            return this;
×
872
          }
873

874
          /**
875
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
876
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
877
           * map. See {@link
878
           * AccountSessionCreateParams.Components.AccountOnboarding.Features#extraParams} for the
879
           * field documentation.
880
           */
881
          public Builder putExtraParam(String key, Object value) {
882
            if (this.extraParams == null) {
×
883
              this.extraParams = new HashMap<>();
×
884
            }
885
            this.extraParams.put(key, value);
×
886
            return this;
×
887
          }
888

889
          /**
890
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
891
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
892
           * map. See {@link
893
           * AccountSessionCreateParams.Components.AccountOnboarding.Features#extraParams} for the
894
           * field documentation.
895
           */
896
          public Builder putAllExtraParam(Map<String, Object> map) {
897
            if (this.extraParams == null) {
×
898
              this.extraParams = new HashMap<>();
×
899
            }
900
            this.extraParams.putAll(map);
×
901
            return this;
×
902
          }
903
        }
904
      }
905
    }
906

907
    @Getter
908
    public static class AppInstall {
909
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
910
      @SerializedName("enabled")
911
      Boolean enabled;
912

913
      /**
914
       * Map of extra parameters for custom features not available in this client library. The
915
       * content in this map is not serialized under this field's {@code @SerializedName} value.
916
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
917
       * name in this param object. Effectively, this map is flattened to its parent instance.
918
       */
919
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
920
      Map<String, Object> extraParams;
921

922
      /** The list of features enabled in the embedded component. */
923
      @SerializedName("features")
924
      Features features;
925

926
      private AppInstall(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
927
        this.enabled = enabled;
×
928
        this.extraParams = extraParams;
×
929
        this.features = features;
×
930
      }
×
931

932
      public static Builder builder() {
933
        return new Builder();
×
934
      }
935

936
      public static class Builder {
×
937
        private Boolean enabled;
938

939
        private Map<String, Object> extraParams;
940

941
        private Features features;
942

943
        /** Finalize and obtain parameter instance from this builder. */
944
        public AccountSessionCreateParams.Components.AppInstall build() {
945
          return new AccountSessionCreateParams.Components.AppInstall(
×
946
              this.enabled, this.extraParams, this.features);
947
        }
948

949
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
950
        public Builder setEnabled(Boolean enabled) {
951
          this.enabled = enabled;
×
952
          return this;
×
953
        }
954

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

969
        /**
970
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
971
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
972
         * map. See {@link AccountSessionCreateParams.Components.AppInstall#extraParams} for the
973
         * field documentation.
974
         */
975
        public Builder putAllExtraParam(Map<String, Object> map) {
976
          if (this.extraParams == null) {
×
977
            this.extraParams = new HashMap<>();
×
978
          }
979
          this.extraParams.putAll(map);
×
980
          return this;
×
981
        }
982

983
        /** The list of features enabled in the embedded component. */
984
        public Builder setFeatures(
985
            AccountSessionCreateParams.Components.AppInstall.Features features) {
986
          this.features = features;
×
987
          return this;
×
988
        }
989
      }
990

991
      @Getter
992
      public static class Features {
993
        /** List of apps allowed to be enabled for this account session. */
994
        @SerializedName("allowed_apps")
995
        Object allowedApps;
996

997
        /**
998
         * Map of extra parameters for custom features not available in this client library. The
999
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1000
         * Instead, each key/value pair is serialized as if the key is a root-level field
1001
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1002
         * instance.
1003
         */
1004
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1005
        Map<String, Object> extraParams;
1006

1007
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1008
          this.allowedApps = allowedApps;
×
1009
          this.extraParams = extraParams;
×
1010
        }
×
1011

1012
        public static Builder builder() {
1013
          return new Builder();
×
1014
        }
1015

1016
        public static class Builder {
×
1017
          private Object allowedApps;
1018

1019
          private Map<String, Object> extraParams;
1020

1021
          /** Finalize and obtain parameter instance from this builder. */
1022
          public AccountSessionCreateParams.Components.AppInstall.Features build() {
1023
            return new AccountSessionCreateParams.Components.AppInstall.Features(
×
1024
                this.allowedApps, this.extraParams);
1025
          }
1026

1027
          /**
1028
           * Add an element to `allowedApps` list. A list is initialized for the first `add/addAll`
1029
           * call, and subsequent calls adds additional elements to the original list. See {@link
1030
           * AccountSessionCreateParams.Components.AppInstall.Features#allowedApps} for the field
1031
           * documentation.
1032
           */
1033
          @SuppressWarnings("unchecked")
1034
          public Builder addAllowedApp(String element) {
1035
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1036
              this.allowedApps = new ArrayList<String>();
×
1037
            }
1038
            ((List<String>) this.allowedApps).add(element);
×
1039
            return this;
×
1040
          }
1041

1042
          /**
1043
           * Add all elements to `allowedApps` list. A list is initialized for the first
1044
           * `add/addAll` call, and subsequent calls adds additional elements to the original list.
1045
           * See {@link AccountSessionCreateParams.Components.AppInstall.Features#allowedApps} for
1046
           * the field documentation.
1047
           */
1048
          @SuppressWarnings("unchecked")
1049
          public Builder addAllAllowedApp(List<String> elements) {
1050
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1051
              this.allowedApps = new ArrayList<String>();
×
1052
            }
1053
            ((List<String>) this.allowedApps).addAll(elements);
×
1054
            return this;
×
1055
          }
1056

1057
          /** List of apps allowed to be enabled for this account session. */
1058
          public Builder setAllowedApps(EmptyParam allowedApps) {
1059
            this.allowedApps = allowedApps;
×
1060
            return this;
×
1061
          }
1062

1063
          /** List of apps allowed to be enabled for this account session. */
1064
          public Builder setAllowedApps(List<String> allowedApps) {
1065
            this.allowedApps = allowedApps;
×
1066
            return this;
×
1067
          }
1068

1069
          /**
1070
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1071
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1072
           * map. See {@link AccountSessionCreateParams.Components.AppInstall.Features#extraParams}
1073
           * for the field documentation.
1074
           */
1075
          public Builder putExtraParam(String key, Object value) {
1076
            if (this.extraParams == null) {
×
1077
              this.extraParams = new HashMap<>();
×
1078
            }
1079
            this.extraParams.put(key, value);
×
1080
            return this;
×
1081
          }
1082

1083
          /**
1084
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1085
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1086
           * map. See {@link AccountSessionCreateParams.Components.AppInstall.Features#extraParams}
1087
           * for the field documentation.
1088
           */
1089
          public Builder putAllExtraParam(Map<String, Object> map) {
1090
            if (this.extraParams == null) {
×
1091
              this.extraParams = new HashMap<>();
×
1092
            }
1093
            this.extraParams.putAll(map);
×
1094
            return this;
×
1095
          }
1096
        }
1097
      }
1098
    }
1099

1100
    @Getter
1101
    public static class AppViewport {
1102
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1103
      @SerializedName("enabled")
1104
      Boolean enabled;
1105

1106
      /**
1107
       * Map of extra parameters for custom features not available in this client library. The
1108
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1109
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1110
       * name in this param object. Effectively, this map is flattened to its parent instance.
1111
       */
1112
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1113
      Map<String, Object> extraParams;
1114

1115
      /** The list of features enabled in the embedded component. */
1116
      @SerializedName("features")
1117
      Features features;
1118

1119
      private AppViewport(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1120
        this.enabled = enabled;
×
1121
        this.extraParams = extraParams;
×
1122
        this.features = features;
×
1123
      }
×
1124

1125
      public static Builder builder() {
1126
        return new Builder();
×
1127
      }
1128

1129
      public static class Builder {
×
1130
        private Boolean enabled;
1131

1132
        private Map<String, Object> extraParams;
1133

1134
        private Features features;
1135

1136
        /** Finalize and obtain parameter instance from this builder. */
1137
        public AccountSessionCreateParams.Components.AppViewport build() {
1138
          return new AccountSessionCreateParams.Components.AppViewport(
×
1139
              this.enabled, this.extraParams, this.features);
1140
        }
1141

1142
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1143
        public Builder setEnabled(Boolean enabled) {
1144
          this.enabled = enabled;
×
1145
          return this;
×
1146
        }
1147

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

1162
        /**
1163
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1164
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1165
         * map. See {@link AccountSessionCreateParams.Components.AppViewport#extraParams} for the
1166
         * field documentation.
1167
         */
1168
        public Builder putAllExtraParam(Map<String, Object> map) {
1169
          if (this.extraParams == null) {
×
1170
            this.extraParams = new HashMap<>();
×
1171
          }
1172
          this.extraParams.putAll(map);
×
1173
          return this;
×
1174
        }
1175

1176
        /** The list of features enabled in the embedded component. */
1177
        public Builder setFeatures(
1178
            AccountSessionCreateParams.Components.AppViewport.Features features) {
1179
          this.features = features;
×
1180
          return this;
×
1181
        }
1182
      }
1183

1184
      @Getter
1185
      public static class Features {
1186
        /** List of apps allowed to be enabled for this account session. */
1187
        @SerializedName("allowed_apps")
1188
        Object allowedApps;
1189

1190
        /**
1191
         * Map of extra parameters for custom features not available in this client library. The
1192
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1193
         * Instead, each key/value pair is serialized as if the key is a root-level field
1194
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1195
         * instance.
1196
         */
1197
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1198
        Map<String, Object> extraParams;
1199

1200
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1201
          this.allowedApps = allowedApps;
×
1202
          this.extraParams = extraParams;
×
1203
        }
×
1204

1205
        public static Builder builder() {
1206
          return new Builder();
×
1207
        }
1208

1209
        public static class Builder {
×
1210
          private Object allowedApps;
1211

1212
          private Map<String, Object> extraParams;
1213

1214
          /** Finalize and obtain parameter instance from this builder. */
1215
          public AccountSessionCreateParams.Components.AppViewport.Features build() {
1216
            return new AccountSessionCreateParams.Components.AppViewport.Features(
×
1217
                this.allowedApps, this.extraParams);
1218
          }
1219

1220
          /**
1221
           * Add an element to `allowedApps` list. A list is initialized for the first `add/addAll`
1222
           * call, and subsequent calls adds additional elements to the original list. See {@link
1223
           * AccountSessionCreateParams.Components.AppViewport.Features#allowedApps} for the field
1224
           * documentation.
1225
           */
1226
          @SuppressWarnings("unchecked")
1227
          public Builder addAllowedApp(String element) {
1228
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1229
              this.allowedApps = new ArrayList<String>();
×
1230
            }
1231
            ((List<String>) this.allowedApps).add(element);
×
1232
            return this;
×
1233
          }
1234

1235
          /**
1236
           * Add all elements to `allowedApps` list. A list is initialized for the first
1237
           * `add/addAll` call, and subsequent calls adds additional elements to the original list.
1238
           * See {@link AccountSessionCreateParams.Components.AppViewport.Features#allowedApps} for
1239
           * the field documentation.
1240
           */
1241
          @SuppressWarnings("unchecked")
1242
          public Builder addAllAllowedApp(List<String> elements) {
1243
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1244
              this.allowedApps = new ArrayList<String>();
×
1245
            }
1246
            ((List<String>) this.allowedApps).addAll(elements);
×
1247
            return this;
×
1248
          }
1249

1250
          /** List of apps allowed to be enabled for this account session. */
1251
          public Builder setAllowedApps(EmptyParam allowedApps) {
1252
            this.allowedApps = allowedApps;
×
1253
            return this;
×
1254
          }
1255

1256
          /** List of apps allowed to be enabled for this account session. */
1257
          public Builder setAllowedApps(List<String> allowedApps) {
1258
            this.allowedApps = allowedApps;
×
1259
            return this;
×
1260
          }
1261

1262
          /**
1263
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1264
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1265
           * map. See {@link AccountSessionCreateParams.Components.AppViewport.Features#extraParams}
1266
           * for the field documentation.
1267
           */
1268
          public Builder putExtraParam(String key, Object value) {
1269
            if (this.extraParams == null) {
×
1270
              this.extraParams = new HashMap<>();
×
1271
            }
1272
            this.extraParams.put(key, value);
×
1273
            return this;
×
1274
          }
1275

1276
          /**
1277
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1278
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1279
           * map. See {@link AccountSessionCreateParams.Components.AppViewport.Features#extraParams}
1280
           * for the field documentation.
1281
           */
1282
          public Builder putAllExtraParam(Map<String, Object> map) {
1283
            if (this.extraParams == null) {
×
1284
              this.extraParams = new HashMap<>();
×
1285
            }
1286
            this.extraParams.putAll(map);
×
1287
            return this;
×
1288
          }
1289
        }
1290
      }
1291
    }
1292

1293
    @Getter
1294
    public static class Balances {
1295
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1296
      @SerializedName("enabled")
1297
      Boolean enabled;
1298

1299
      /**
1300
       * Map of extra parameters for custom features not available in this client library. The
1301
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1302
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1303
       * name in this param object. Effectively, this map is flattened to its parent instance.
1304
       */
1305
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1306
      Map<String, Object> extraParams;
1307

1308
      /** The list of features enabled in the embedded component. */
1309
      @SerializedName("features")
1310
      Features features;
1311

1312
      private Balances(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1313
        this.enabled = enabled;
×
1314
        this.extraParams = extraParams;
×
1315
        this.features = features;
×
1316
      }
×
1317

1318
      public static Builder builder() {
1319
        return new Builder();
×
1320
      }
1321

1322
      public static class Builder {
×
1323
        private Boolean enabled;
1324

1325
        private Map<String, Object> extraParams;
1326

1327
        private Features features;
1328

1329
        /** Finalize and obtain parameter instance from this builder. */
1330
        public AccountSessionCreateParams.Components.Balances build() {
1331
          return new AccountSessionCreateParams.Components.Balances(
×
1332
              this.enabled, this.extraParams, this.features);
1333
        }
1334

1335
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1336
        public Builder setEnabled(Boolean enabled) {
1337
          this.enabled = enabled;
×
1338
          return this;
×
1339
        }
1340

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

1355
        /**
1356
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1357
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1358
         * map. See {@link AccountSessionCreateParams.Components.Balances#extraParams} for the field
1359
         * documentation.
1360
         */
1361
        public Builder putAllExtraParam(Map<String, Object> map) {
1362
          if (this.extraParams == null) {
×
1363
            this.extraParams = new HashMap<>();
×
1364
          }
1365
          this.extraParams.putAll(map);
×
1366
          return this;
×
1367
        }
1368

1369
        /** The list of features enabled in the embedded component. */
1370
        public Builder setFeatures(
1371
            AccountSessionCreateParams.Components.Balances.Features features) {
1372
          this.features = features;
×
1373
          return this;
×
1374
        }
1375
      }
1376

1377
      @Getter
1378
      public static class Features {
1379
        /**
1380
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
1381
         * Loss Liability, default {@code false} otherwise.
1382
         */
1383
        @SerializedName("edit_payout_schedule")
1384
        Boolean editPayoutSchedule;
1385

1386
        /**
1387
         * Whether to allow platforms to control bank account collection for their connected
1388
         * accounts. This feature can only be false for custom accounts (or accounts where the
1389
         * platform is compliance owner). Otherwise, bank account collection is determined by
1390
         * compliance requirements.
1391
         */
1392
        @SerializedName("external_account_collection")
1393
        Boolean externalAccountCollection;
1394

1395
        /**
1396
         * Map of extra parameters for custom features not available in this client library. The
1397
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1398
         * Instead, each key/value pair is serialized as if the key is a root-level field
1399
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1400
         * instance.
1401
         */
1402
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1403
        Map<String, Object> extraParams;
1404

1405
        /**
1406
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
1407
         * Liability, default {@code false} otherwise.
1408
         */
1409
        @SerializedName("instant_payouts")
1410
        Boolean instantPayouts;
1411

1412
        /**
1413
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
1414
         * Liability, default {@code false} otherwise.
1415
         */
1416
        @SerializedName("standard_payouts")
1417
        Boolean standardPayouts;
1418

1419
        private Features(
1420
            Boolean editPayoutSchedule,
1421
            Boolean externalAccountCollection,
1422
            Map<String, Object> extraParams,
1423
            Boolean instantPayouts,
1424
            Boolean standardPayouts) {
×
1425
          this.editPayoutSchedule = editPayoutSchedule;
×
1426
          this.externalAccountCollection = externalAccountCollection;
×
1427
          this.extraParams = extraParams;
×
1428
          this.instantPayouts = instantPayouts;
×
1429
          this.standardPayouts = standardPayouts;
×
1430
        }
×
1431

1432
        public static Builder builder() {
1433
          return new Builder();
×
1434
        }
1435

1436
        public static class Builder {
×
1437
          private Boolean editPayoutSchedule;
1438

1439
          private Boolean externalAccountCollection;
1440

1441
          private Map<String, Object> extraParams;
1442

1443
          private Boolean instantPayouts;
1444

1445
          private Boolean standardPayouts;
1446

1447
          /** Finalize and obtain parameter instance from this builder. */
1448
          public AccountSessionCreateParams.Components.Balances.Features build() {
1449
            return new AccountSessionCreateParams.Components.Balances.Features(
×
1450
                this.editPayoutSchedule,
1451
                this.externalAccountCollection,
1452
                this.extraParams,
1453
                this.instantPayouts,
1454
                this.standardPayouts);
1455
          }
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
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
1462
            this.editPayoutSchedule = editPayoutSchedule;
×
1463
            return this;
×
1464
          }
1465

1466
          /**
1467
           * Whether to allow platforms to control bank account collection for their connected
1468
           * accounts. This feature can only be false for custom accounts (or accounts where the
1469
           * platform is compliance owner). Otherwise, bank account collection is determined by
1470
           * compliance requirements.
1471
           */
1472
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
1473
            this.externalAccountCollection = externalAccountCollection;
×
1474
            return this;
×
1475
          }
1476

1477
          /**
1478
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1479
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1480
           * map. See {@link AccountSessionCreateParams.Components.Balances.Features#extraParams}
1481
           * for the field documentation.
1482
           */
1483
          public Builder putExtraParam(String key, Object value) {
1484
            if (this.extraParams == null) {
×
1485
              this.extraParams = new HashMap<>();
×
1486
            }
1487
            this.extraParams.put(key, value);
×
1488
            return this;
×
1489
          }
1490

1491
          /**
1492
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1493
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1494
           * map. See {@link AccountSessionCreateParams.Components.Balances.Features#extraParams}
1495
           * for the field documentation.
1496
           */
1497
          public Builder putAllExtraParam(Map<String, Object> map) {
1498
            if (this.extraParams == null) {
×
1499
              this.extraParams = new HashMap<>();
×
1500
            }
1501
            this.extraParams.putAll(map);
×
1502
            return this;
×
1503
          }
1504

1505
          /**
1506
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
1507
           * Loss Liability, default {@code false} otherwise.
1508
           */
1509
          public Builder setInstantPayouts(Boolean instantPayouts) {
1510
            this.instantPayouts = instantPayouts;
×
1511
            return this;
×
1512
          }
1513

1514
          /**
1515
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
1516
           * Loss Liability, default {@code false} otherwise.
1517
           */
1518
          public Builder setStandardPayouts(Boolean standardPayouts) {
1519
            this.standardPayouts = standardPayouts;
×
1520
            return this;
×
1521
          }
1522
        }
1523
      }
1524
    }
1525

1526
    @Getter
1527
    public static class CapitalFinancing {
1528
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1529
      @SerializedName("enabled")
1530
      Boolean enabled;
1531

1532
      /**
1533
       * Map of extra parameters for custom features not available in this client library. The
1534
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1535
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1536
       * name in this param object. Effectively, this map is flattened to its parent instance.
1537
       */
1538
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1539
      Map<String, Object> extraParams;
1540

1541
      /** The list of features enabled in the embedded component. */
1542
      @SerializedName("features")
1543
      Features features;
1544

1545
      private CapitalFinancing(
1546
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1547
        this.enabled = enabled;
×
1548
        this.extraParams = extraParams;
×
1549
        this.features = features;
×
1550
      }
×
1551

1552
      public static Builder builder() {
1553
        return new Builder();
×
1554
      }
1555

1556
      public static class Builder {
×
1557
        private Boolean enabled;
1558

1559
        private Map<String, Object> extraParams;
1560

1561
        private Features features;
1562

1563
        /** Finalize and obtain parameter instance from this builder. */
1564
        public AccountSessionCreateParams.Components.CapitalFinancing build() {
1565
          return new AccountSessionCreateParams.Components.CapitalFinancing(
×
1566
              this.enabled, this.extraParams, this.features);
1567
        }
1568

1569
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1570
        public Builder setEnabled(Boolean enabled) {
1571
          this.enabled = enabled;
×
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.CapitalFinancing#extraParams} for
1579
         * 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.CapitalFinancing#extraParams} for
1593
         * 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
        /** The list of features enabled in the embedded component. */
1604
        public Builder setFeatures(
1605
            AccountSessionCreateParams.Components.CapitalFinancing.Features features) {
1606
          this.features = features;
×
1607
          return this;
×
1608
        }
1609
      }
1610

1611
      @Getter
1612
      public static class Features {
1613
        /**
1614
         * Map of extra parameters for custom features not available in this client library. The
1615
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1616
         * Instead, each key/value pair is serialized as if the key is a root-level field
1617
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1618
         * instance.
1619
         */
1620
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1621
        Map<String, Object> extraParams;
1622

1623
        private Features(Map<String, Object> extraParams) {
×
1624
          this.extraParams = extraParams;
×
1625
        }
×
1626

1627
        public static Builder builder() {
1628
          return new Builder();
×
1629
        }
1630

1631
        public static class Builder {
×
1632
          private Map<String, Object> extraParams;
1633

1634
          /** Finalize and obtain parameter instance from this builder. */
1635
          public AccountSessionCreateParams.Components.CapitalFinancing.Features build() {
1636
            return new AccountSessionCreateParams.Components.CapitalFinancing.Features(
×
1637
                this.extraParams);
1638
          }
1639

1640
          /**
1641
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1642
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1643
           * map. See {@link
1644
           * AccountSessionCreateParams.Components.CapitalFinancing.Features#extraParams} for the
1645
           * field documentation.
1646
           */
1647
          public Builder putExtraParam(String key, Object value) {
1648
            if (this.extraParams == null) {
×
1649
              this.extraParams = new HashMap<>();
×
1650
            }
1651
            this.extraParams.put(key, value);
×
1652
            return this;
×
1653
          }
1654

1655
          /**
1656
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1657
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1658
           * map. See {@link
1659
           * AccountSessionCreateParams.Components.CapitalFinancing.Features#extraParams} for the
1660
           * field documentation.
1661
           */
1662
          public Builder putAllExtraParam(Map<String, Object> map) {
1663
            if (this.extraParams == null) {
×
1664
              this.extraParams = new HashMap<>();
×
1665
            }
1666
            this.extraParams.putAll(map);
×
1667
            return this;
×
1668
          }
1669
        }
1670
      }
1671
    }
1672

1673
    @Getter
1674
    public static class CapitalFinancingApplication {
1675
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1676
      @SerializedName("enabled")
1677
      Boolean enabled;
1678

1679
      /**
1680
       * Map of extra parameters for custom features not available in this client library. The
1681
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1682
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1683
       * name in this param object. Effectively, this map is flattened to its parent instance.
1684
       */
1685
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1686
      Map<String, Object> extraParams;
1687

1688
      /** The list of features enabled in the embedded component. */
1689
      @SerializedName("features")
1690
      Features features;
1691

1692
      private CapitalFinancingApplication(
1693
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1694
        this.enabled = enabled;
×
1695
        this.extraParams = extraParams;
×
1696
        this.features = features;
×
1697
      }
×
1698

1699
      public static Builder builder() {
1700
        return new Builder();
×
1701
      }
1702

1703
      public static class Builder {
×
1704
        private Boolean enabled;
1705

1706
        private Map<String, Object> extraParams;
1707

1708
        private Features features;
1709

1710
        /** Finalize and obtain parameter instance from this builder. */
1711
        public AccountSessionCreateParams.Components.CapitalFinancingApplication build() {
1712
          return new AccountSessionCreateParams.Components.CapitalFinancingApplication(
×
1713
              this.enabled, this.extraParams, this.features);
1714
        }
1715

1716
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1717
        public Builder setEnabled(Boolean enabled) {
1718
          this.enabled = enabled;
×
1719
          return this;
×
1720
        }
1721

1722
        /**
1723
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1724
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1725
         * map. See {@link
1726
         * AccountSessionCreateParams.Components.CapitalFinancingApplication#extraParams} for the
1727
         * field documentation.
1728
         */
1729
        public Builder putExtraParam(String key, Object value) {
1730
          if (this.extraParams == null) {
×
1731
            this.extraParams = new HashMap<>();
×
1732
          }
1733
          this.extraParams.put(key, value);
×
1734
          return this;
×
1735
        }
1736

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

1752
        /** The list of features enabled in the embedded component. */
1753
        public Builder setFeatures(
1754
            AccountSessionCreateParams.Components.CapitalFinancingApplication.Features features) {
1755
          this.features = features;
×
1756
          return this;
×
1757
        }
1758
      }
1759

1760
      @Getter
1761
      public static class Features {
1762
        /**
1763
         * Map of extra parameters for custom features not available in this client library. The
1764
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1765
         * Instead, each key/value pair is serialized as if the key is a root-level field
1766
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1767
         * instance.
1768
         */
1769
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1770
        Map<String, Object> extraParams;
1771

1772
        private Features(Map<String, Object> extraParams) {
×
1773
          this.extraParams = extraParams;
×
1774
        }
×
1775

1776
        public static Builder builder() {
1777
          return new Builder();
×
1778
        }
1779

1780
        public static class Builder {
×
1781
          private Map<String, Object> extraParams;
1782

1783
          /** Finalize and obtain parameter instance from this builder. */
1784
          public AccountSessionCreateParams.Components.CapitalFinancingApplication.Features
1785
              build() {
1786
            return new AccountSessionCreateParams.Components.CapitalFinancingApplication.Features(
×
1787
                this.extraParams);
1788
          }
1789

1790
          /**
1791
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1792
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1793
           * map. See {@link
1794
           * AccountSessionCreateParams.Components.CapitalFinancingApplication.Features#extraParams}
1795
           * for the field documentation.
1796
           */
1797
          public Builder putExtraParam(String key, Object value) {
1798
            if (this.extraParams == null) {
×
1799
              this.extraParams = new HashMap<>();
×
1800
            }
1801
            this.extraParams.put(key, value);
×
1802
            return this;
×
1803
          }
1804

1805
          /**
1806
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1807
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1808
           * map. See {@link
1809
           * AccountSessionCreateParams.Components.CapitalFinancingApplication.Features#extraParams}
1810
           * for the field documentation.
1811
           */
1812
          public Builder putAllExtraParam(Map<String, Object> map) {
1813
            if (this.extraParams == null) {
×
1814
              this.extraParams = new HashMap<>();
×
1815
            }
1816
            this.extraParams.putAll(map);
×
1817
            return this;
×
1818
          }
1819
        }
1820
      }
1821
    }
1822

1823
    @Getter
1824
    public static class CapitalFinancingPromotion {
1825
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1826
      @SerializedName("enabled")
1827
      Boolean enabled;
1828

1829
      /**
1830
       * Map of extra parameters for custom features not available in this client library. The
1831
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1832
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1833
       * name in this param object. Effectively, this map is flattened to its parent instance.
1834
       */
1835
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1836
      Map<String, Object> extraParams;
1837

1838
      /** The list of features enabled in the embedded component. */
1839
      @SerializedName("features")
1840
      Features features;
1841

1842
      private CapitalFinancingPromotion(
1843
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1844
        this.enabled = enabled;
×
1845
        this.extraParams = extraParams;
×
1846
        this.features = features;
×
1847
      }
×
1848

1849
      public static Builder builder() {
1850
        return new Builder();
×
1851
      }
1852

1853
      public static class Builder {
×
1854
        private Boolean enabled;
1855

1856
        private Map<String, Object> extraParams;
1857

1858
        private Features features;
1859

1860
        /** Finalize and obtain parameter instance from this builder. */
1861
        public AccountSessionCreateParams.Components.CapitalFinancingPromotion build() {
1862
          return new AccountSessionCreateParams.Components.CapitalFinancingPromotion(
×
1863
              this.enabled, this.extraParams, this.features);
1864
        }
1865

1866
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1867
        public Builder setEnabled(Boolean enabled) {
1868
          this.enabled = enabled;
×
1869
          return this;
×
1870
        }
1871

1872
        /**
1873
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1874
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1875
         * map. See {@link
1876
         * AccountSessionCreateParams.Components.CapitalFinancingPromotion#extraParams} for the
1877
         * field documentation.
1878
         */
1879
        public Builder putExtraParam(String key, Object value) {
1880
          if (this.extraParams == null) {
×
1881
            this.extraParams = new HashMap<>();
×
1882
          }
1883
          this.extraParams.put(key, value);
×
1884
          return this;
×
1885
        }
1886

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

1902
        /** The list of features enabled in the embedded component. */
1903
        public Builder setFeatures(
1904
            AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features features) {
1905
          this.features = features;
×
1906
          return this;
×
1907
        }
1908
      }
1909

1910
      @Getter
1911
      public static class Features {
1912
        /**
1913
         * Map of extra parameters for custom features not available in this client library. The
1914
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1915
         * Instead, each key/value pair is serialized as if the key is a root-level field
1916
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1917
         * instance.
1918
         */
1919
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1920
        Map<String, Object> extraParams;
1921

1922
        private Features(Map<String, Object> extraParams) {
×
1923
          this.extraParams = extraParams;
×
1924
        }
×
1925

1926
        public static Builder builder() {
1927
          return new Builder();
×
1928
        }
1929

1930
        public static class Builder {
×
1931
          private Map<String, Object> extraParams;
1932

1933
          /** Finalize and obtain parameter instance from this builder. */
1934
          public AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features build() {
1935
            return new AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features(
×
1936
                this.extraParams);
1937
          }
1938

1939
          /**
1940
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1941
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1942
           * map. See {@link
1943
           * AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features#extraParams}
1944
           * for the field documentation.
1945
           */
1946
          public Builder putExtraParam(String key, Object value) {
1947
            if (this.extraParams == null) {
×
1948
              this.extraParams = new HashMap<>();
×
1949
            }
1950
            this.extraParams.put(key, value);
×
1951
            return this;
×
1952
          }
1953

1954
          /**
1955
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1956
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1957
           * map. See {@link
1958
           * AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features#extraParams}
1959
           * for the field documentation.
1960
           */
1961
          public Builder putAllExtraParam(Map<String, Object> map) {
1962
            if (this.extraParams == null) {
×
1963
              this.extraParams = new HashMap<>();
×
1964
            }
1965
            this.extraParams.putAll(map);
×
1966
            return this;
×
1967
          }
1968
        }
1969
      }
1970
    }
1971

1972
    @Getter
1973
    public static class CapitalOverview {
1974
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1975
      @SerializedName("enabled")
1976
      Boolean enabled;
1977

1978
      /**
1979
       * Map of extra parameters for custom features not available in this client library. The
1980
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1981
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1982
       * name in this param object. Effectively, this map is flattened to its parent instance.
1983
       */
1984
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1985
      Map<String, Object> extraParams;
1986

1987
      /** The list of features enabled in the embedded component. */
1988
      @SerializedName("features")
1989
      Features features;
1990

1991
      private CapitalOverview(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1992
        this.enabled = enabled;
×
1993
        this.extraParams = extraParams;
×
1994
        this.features = features;
×
1995
      }
×
1996

1997
      public static Builder builder() {
1998
        return new Builder();
×
1999
      }
2000

2001
      public static class Builder {
×
2002
        private Boolean enabled;
2003

2004
        private Map<String, Object> extraParams;
2005

2006
        private Features features;
2007

2008
        /** Finalize and obtain parameter instance from this builder. */
2009
        public AccountSessionCreateParams.Components.CapitalOverview build() {
2010
          return new AccountSessionCreateParams.Components.CapitalOverview(
×
2011
              this.enabled, this.extraParams, this.features);
2012
        }
2013

2014
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2015
        public Builder setEnabled(Boolean enabled) {
2016
          this.enabled = enabled;
×
2017
          return this;
×
2018
        }
2019

2020
        /**
2021
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2022
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2023
         * map. See {@link AccountSessionCreateParams.Components.CapitalOverview#extraParams} for
2024
         * the field documentation.
2025
         */
2026
        public Builder putExtraParam(String key, Object value) {
2027
          if (this.extraParams == null) {
×
2028
            this.extraParams = new HashMap<>();
×
2029
          }
2030
          this.extraParams.put(key, value);
×
2031
          return this;
×
2032
        }
2033

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

2048
        /** The list of features enabled in the embedded component. */
2049
        public Builder setFeatures(
2050
            AccountSessionCreateParams.Components.CapitalOverview.Features features) {
2051
          this.features = features;
×
2052
          return this;
×
2053
        }
2054
      }
2055

2056
      @Getter
2057
      public static class Features {
2058
        /**
2059
         * Map of extra parameters for custom features not available in this client library. The
2060
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2061
         * Instead, each key/value pair is serialized as if the key is a root-level field
2062
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2063
         * instance.
2064
         */
2065
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2066
        Map<String, Object> extraParams;
2067

2068
        private Features(Map<String, Object> extraParams) {
×
2069
          this.extraParams = extraParams;
×
2070
        }
×
2071

2072
        public static Builder builder() {
2073
          return new Builder();
×
2074
        }
2075

2076
        public static class Builder {
×
2077
          private Map<String, Object> extraParams;
2078

2079
          /** Finalize and obtain parameter instance from this builder. */
2080
          public AccountSessionCreateParams.Components.CapitalOverview.Features build() {
2081
            return new AccountSessionCreateParams.Components.CapitalOverview.Features(
×
2082
                this.extraParams);
2083
          }
2084

2085
          /**
2086
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2087
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2088
           * map. See {@link
2089
           * AccountSessionCreateParams.Components.CapitalOverview.Features#extraParams} for the
2090
           * field documentation.
2091
           */
2092
          public Builder putExtraParam(String key, Object value) {
2093
            if (this.extraParams == null) {
×
2094
              this.extraParams = new HashMap<>();
×
2095
            }
2096
            this.extraParams.put(key, value);
×
2097
            return this;
×
2098
          }
2099

2100
          /**
2101
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2102
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2103
           * map. See {@link
2104
           * AccountSessionCreateParams.Components.CapitalOverview.Features#extraParams} for the
2105
           * field documentation.
2106
           */
2107
          public Builder putAllExtraParam(Map<String, Object> map) {
2108
            if (this.extraParams == null) {
×
2109
              this.extraParams = new HashMap<>();
×
2110
            }
2111
            this.extraParams.putAll(map);
×
2112
            return this;
×
2113
          }
2114
        }
2115
      }
2116
    }
2117

2118
    @Getter
2119
    public static class Documents {
2120
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2121
      @SerializedName("enabled")
2122
      Boolean enabled;
2123

2124
      /**
2125
       * Map of extra parameters for custom features not available in this client library. The
2126
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2127
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2128
       * name in this param object. Effectively, this map is flattened to its parent instance.
2129
       */
2130
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2131
      Map<String, Object> extraParams;
2132

2133
      /** The list of features enabled in the embedded component. */
2134
      @SerializedName("features")
2135
      Features features;
2136

2137
      private Documents(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2138
        this.enabled = enabled;
×
2139
        this.extraParams = extraParams;
×
2140
        this.features = features;
×
2141
      }
×
2142

2143
      public static Builder builder() {
2144
        return new Builder();
×
2145
      }
2146

2147
      public static class Builder {
×
2148
        private Boolean enabled;
2149

2150
        private Map<String, Object> extraParams;
2151

2152
        private Features features;
2153

2154
        /** Finalize and obtain parameter instance from this builder. */
2155
        public AccountSessionCreateParams.Components.Documents build() {
2156
          return new AccountSessionCreateParams.Components.Documents(
×
2157
              this.enabled, this.extraParams, this.features);
2158
        }
2159

2160
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2161
        public Builder setEnabled(Boolean enabled) {
2162
          this.enabled = enabled;
×
2163
          return this;
×
2164
        }
2165

2166
        /**
2167
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2168
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2169
         * map. See {@link AccountSessionCreateParams.Components.Documents#extraParams} for the
2170
         * field documentation.
2171
         */
2172
        public Builder putExtraParam(String key, Object value) {
2173
          if (this.extraParams == null) {
×
2174
            this.extraParams = new HashMap<>();
×
2175
          }
2176
          this.extraParams.put(key, value);
×
2177
          return this;
×
2178
        }
2179

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

2194
        /** The list of features enabled in the embedded component. */
2195
        public Builder setFeatures(
2196
            AccountSessionCreateParams.Components.Documents.Features features) {
2197
          this.features = features;
×
2198
          return this;
×
2199
        }
2200
      }
2201

2202
      @Getter
2203
      public static class Features {
2204
        /**
2205
         * Map of extra parameters for custom features not available in this client library. The
2206
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2207
         * Instead, each key/value pair is serialized as if the key is a root-level field
2208
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2209
         * instance.
2210
         */
2211
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2212
        Map<String, Object> extraParams;
2213

2214
        private Features(Map<String, Object> extraParams) {
×
2215
          this.extraParams = extraParams;
×
2216
        }
×
2217

2218
        public static Builder builder() {
2219
          return new Builder();
×
2220
        }
2221

2222
        public static class Builder {
×
2223
          private Map<String, Object> extraParams;
2224

2225
          /** Finalize and obtain parameter instance from this builder. */
2226
          public AccountSessionCreateParams.Components.Documents.Features build() {
2227
            return new AccountSessionCreateParams.Components.Documents.Features(this.extraParams);
×
2228
          }
2229

2230
          /**
2231
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2232
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2233
           * map. See {@link AccountSessionCreateParams.Components.Documents.Features#extraParams}
2234
           * for the field documentation.
2235
           */
2236
          public Builder putExtraParam(String key, Object value) {
2237
            if (this.extraParams == null) {
×
2238
              this.extraParams = new HashMap<>();
×
2239
            }
2240
            this.extraParams.put(key, value);
×
2241
            return this;
×
2242
          }
2243

2244
          /**
2245
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2246
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2247
           * map. See {@link AccountSessionCreateParams.Components.Documents.Features#extraParams}
2248
           * for the field documentation.
2249
           */
2250
          public Builder putAllExtraParam(Map<String, Object> map) {
2251
            if (this.extraParams == null) {
×
2252
              this.extraParams = new HashMap<>();
×
2253
            }
2254
            this.extraParams.putAll(map);
×
2255
            return this;
×
2256
          }
2257
        }
2258
      }
2259
    }
2260

2261
    @Getter
2262
    public static class FinancialAccount {
2263
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2264
      @SerializedName("enabled")
2265
      Boolean enabled;
2266

2267
      /**
2268
       * Map of extra parameters for custom features not available in this client library. The
2269
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2270
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2271
       * name in this param object. Effectively, this map is flattened to its parent instance.
2272
       */
2273
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2274
      Map<String, Object> extraParams;
2275

2276
      @SerializedName("features")
2277
      Features features;
2278

2279
      private FinancialAccount(
2280
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2281
        this.enabled = enabled;
×
2282
        this.extraParams = extraParams;
×
2283
        this.features = features;
×
2284
      }
×
2285

2286
      public static Builder builder() {
2287
        return new Builder();
×
2288
      }
2289

2290
      public static class Builder {
×
2291
        private Boolean enabled;
2292

2293
        private Map<String, Object> extraParams;
2294

2295
        private Features features;
2296

2297
        /** Finalize and obtain parameter instance from this builder. */
2298
        public AccountSessionCreateParams.Components.FinancialAccount build() {
2299
          return new AccountSessionCreateParams.Components.FinancialAccount(
×
2300
              this.enabled, this.extraParams, this.features);
2301
        }
2302

2303
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2304
        public Builder setEnabled(Boolean enabled) {
2305
          this.enabled = enabled;
×
2306
          return this;
×
2307
        }
2308

2309
        /**
2310
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2311
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2312
         * map. See {@link AccountSessionCreateParams.Components.FinancialAccount#extraParams} for
2313
         * the field documentation.
2314
         */
2315
        public Builder putExtraParam(String key, Object value) {
2316
          if (this.extraParams == null) {
×
2317
            this.extraParams = new HashMap<>();
×
2318
          }
2319
          this.extraParams.put(key, value);
×
2320
          return this;
×
2321
        }
2322

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

2337
        public Builder setFeatures(
2338
            AccountSessionCreateParams.Components.FinancialAccount.Features features) {
2339
          this.features = features;
×
2340
          return this;
×
2341
        }
2342
      }
2343

2344
      @Getter
2345
      public static class Features {
2346
        /** Whether to allow external accounts to be linked for money transfer. */
2347
        @SerializedName("external_account_collection")
2348
        Boolean externalAccountCollection;
2349

2350
        /**
2351
         * Map of extra parameters for custom features not available in this client library. The
2352
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2353
         * Instead, each key/value pair is serialized as if the key is a root-level field
2354
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2355
         * instance.
2356
         */
2357
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2358
        Map<String, Object> extraParams;
2359

2360
        /** Whether to allow money movement features. */
2361
        @SerializedName("money_movement")
2362
        Boolean moneyMovement;
2363

2364
        /** Whether to allow sending money. */
2365
        @SerializedName("send_money")
2366
        Boolean sendMoney;
2367

2368
        /** Whether to allow transferring balance. */
2369
        @SerializedName("transfer_balance")
2370
        Boolean transferBalance;
2371

2372
        private Features(
2373
            Boolean externalAccountCollection,
2374
            Map<String, Object> extraParams,
2375
            Boolean moneyMovement,
2376
            Boolean sendMoney,
2377
            Boolean transferBalance) {
×
2378
          this.externalAccountCollection = externalAccountCollection;
×
2379
          this.extraParams = extraParams;
×
2380
          this.moneyMovement = moneyMovement;
×
2381
          this.sendMoney = sendMoney;
×
2382
          this.transferBalance = transferBalance;
×
2383
        }
×
2384

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

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

2392
          private Map<String, Object> extraParams;
2393

2394
          private Boolean moneyMovement;
2395

2396
          private Boolean sendMoney;
2397

2398
          private Boolean transferBalance;
2399

2400
          /** Finalize and obtain parameter instance from this builder. */
2401
          public AccountSessionCreateParams.Components.FinancialAccount.Features build() {
2402
            return new AccountSessionCreateParams.Components.FinancialAccount.Features(
×
2403
                this.externalAccountCollection,
2404
                this.extraParams,
2405
                this.moneyMovement,
2406
                this.sendMoney,
2407
                this.transferBalance);
2408
          }
2409

2410
          /** Whether to allow external accounts to be linked for money transfer. */
2411
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
2412
            this.externalAccountCollection = externalAccountCollection;
×
2413
            return this;
×
2414
          }
2415

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

2431
          /**
2432
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2433
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2434
           * map. See {@link
2435
           * AccountSessionCreateParams.Components.FinancialAccount.Features#extraParams} for the
2436
           * field documentation.
2437
           */
2438
          public Builder putAllExtraParam(Map<String, Object> map) {
2439
            if (this.extraParams == null) {
×
2440
              this.extraParams = new HashMap<>();
×
2441
            }
2442
            this.extraParams.putAll(map);
×
2443
            return this;
×
2444
          }
2445

2446
          /** Whether to allow money movement features. */
2447
          public Builder setMoneyMovement(Boolean moneyMovement) {
2448
            this.moneyMovement = moneyMovement;
×
2449
            return this;
×
2450
          }
2451

2452
          /** Whether to allow sending money. */
2453
          public Builder setSendMoney(Boolean sendMoney) {
2454
            this.sendMoney = sendMoney;
×
2455
            return this;
×
2456
          }
2457

2458
          /** Whether to allow transferring balance. */
2459
          public Builder setTransferBalance(Boolean transferBalance) {
2460
            this.transferBalance = transferBalance;
×
2461
            return this;
×
2462
          }
2463
        }
2464
      }
2465
    }
2466

2467
    @Getter
2468
    public static class FinancialAccountTransactions {
2469
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2470
      @SerializedName("enabled")
2471
      Boolean enabled;
2472

2473
      /**
2474
       * Map of extra parameters for custom features not available in this client library. The
2475
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2476
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2477
       * name in this param object. Effectively, this map is flattened to its parent instance.
2478
       */
2479
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2480
      Map<String, Object> extraParams;
2481

2482
      @SerializedName("features")
2483
      Features features;
2484

2485
      private FinancialAccountTransactions(
2486
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2487
        this.enabled = enabled;
×
2488
        this.extraParams = extraParams;
×
2489
        this.features = features;
×
2490
      }
×
2491

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

2496
      public static class Builder {
×
2497
        private Boolean enabled;
2498

2499
        private Map<String, Object> extraParams;
2500

2501
        private Features features;
2502

2503
        /** Finalize and obtain parameter instance from this builder. */
2504
        public AccountSessionCreateParams.Components.FinancialAccountTransactions build() {
2505
          return new AccountSessionCreateParams.Components.FinancialAccountTransactions(
×
2506
              this.enabled, this.extraParams, this.features);
2507
        }
2508

2509
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2510
        public Builder setEnabled(Boolean enabled) {
2511
          this.enabled = enabled;
×
2512
          return this;
×
2513
        }
2514

2515
        /**
2516
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2517
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2518
         * map. See {@link
2519
         * AccountSessionCreateParams.Components.FinancialAccountTransactions#extraParams} for the
2520
         * field documentation.
2521
         */
2522
        public Builder putExtraParam(String key, Object value) {
2523
          if (this.extraParams == null) {
×
2524
            this.extraParams = new HashMap<>();
×
2525
          }
2526
          this.extraParams.put(key, value);
×
2527
          return this;
×
2528
        }
2529

2530
        /**
2531
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2532
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2533
         * map. See {@link
2534
         * AccountSessionCreateParams.Components.FinancialAccountTransactions#extraParams} for the
2535
         * field documentation.
2536
         */
2537
        public Builder putAllExtraParam(Map<String, Object> map) {
2538
          if (this.extraParams == null) {
×
2539
            this.extraParams = new HashMap<>();
×
2540
          }
2541
          this.extraParams.putAll(map);
×
2542
          return this;
×
2543
        }
2544

2545
        public Builder setFeatures(
2546
            AccountSessionCreateParams.Components.FinancialAccountTransactions.Features features) {
2547
          this.features = features;
×
2548
          return this;
×
2549
        }
2550
      }
2551

2552
      @Getter
2553
      public static class Features {
2554
        /** Whether to allow card spend dispute features. */
2555
        @SerializedName("card_spend_dispute_management")
2556
        Boolean cardSpendDisputeManagement;
2557

2558
        /**
2559
         * Map of extra parameters for custom features not available in this client library. The
2560
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2561
         * Instead, each key/value pair is serialized as if the key is a root-level field
2562
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2563
         * instance.
2564
         */
2565
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2566
        Map<String, Object> extraParams;
2567

2568
        private Features(Boolean cardSpendDisputeManagement, Map<String, Object> extraParams) {
×
2569
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2570
          this.extraParams = extraParams;
×
2571
        }
×
2572

2573
        public static Builder builder() {
2574
          return new Builder();
×
2575
        }
2576

2577
        public static class Builder {
×
2578
          private Boolean cardSpendDisputeManagement;
2579

2580
          private Map<String, Object> extraParams;
2581

2582
          /** Finalize and obtain parameter instance from this builder. */
2583
          public AccountSessionCreateParams.Components.FinancialAccountTransactions.Features
2584
              build() {
2585
            return new AccountSessionCreateParams.Components.FinancialAccountTransactions.Features(
×
2586
                this.cardSpendDisputeManagement, this.extraParams);
2587
          }
2588

2589
          /** Whether to allow card spend dispute features. */
2590
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
2591
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2592
            return this;
×
2593
          }
2594

2595
          /**
2596
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2597
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2598
           * map. See {@link
2599
           * AccountSessionCreateParams.Components.FinancialAccountTransactions.Features#extraParams}
2600
           * for the field documentation.
2601
           */
2602
          public Builder putExtraParam(String key, Object value) {
2603
            if (this.extraParams == null) {
×
2604
              this.extraParams = new HashMap<>();
×
2605
            }
2606
            this.extraParams.put(key, value);
×
2607
            return this;
×
2608
          }
2609

2610
          /**
2611
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2612
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2613
           * map. See {@link
2614
           * AccountSessionCreateParams.Components.FinancialAccountTransactions.Features#extraParams}
2615
           * for the field documentation.
2616
           */
2617
          public Builder putAllExtraParam(Map<String, Object> map) {
2618
            if (this.extraParams == null) {
×
2619
              this.extraParams = new HashMap<>();
×
2620
            }
2621
            this.extraParams.putAll(map);
×
2622
            return this;
×
2623
          }
2624
        }
2625
      }
2626
    }
2627

2628
    @Getter
2629
    public static class IssuingCard {
2630
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2631
      @SerializedName("enabled")
2632
      Boolean enabled;
2633

2634
      /**
2635
       * Map of extra parameters for custom features not available in this client library. The
2636
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2637
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2638
       * name in this param object. Effectively, this map is flattened to its parent instance.
2639
       */
2640
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2641
      Map<String, Object> extraParams;
2642

2643
      /** The list of features enabled in the embedded component. */
2644
      @SerializedName("features")
2645
      Features features;
2646

2647
      private IssuingCard(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2648
        this.enabled = enabled;
×
2649
        this.extraParams = extraParams;
×
2650
        this.features = features;
×
2651
      }
×
2652

2653
      public static Builder builder() {
2654
        return new Builder();
×
2655
      }
2656

2657
      public static class Builder {
×
2658
        private Boolean enabled;
2659

2660
        private Map<String, Object> extraParams;
2661

2662
        private Features features;
2663

2664
        /** Finalize and obtain parameter instance from this builder. */
2665
        public AccountSessionCreateParams.Components.IssuingCard build() {
2666
          return new AccountSessionCreateParams.Components.IssuingCard(
×
2667
              this.enabled, this.extraParams, this.features);
2668
        }
2669

2670
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2671
        public Builder setEnabled(Boolean enabled) {
2672
          this.enabled = enabled;
×
2673
          return this;
×
2674
        }
2675

2676
        /**
2677
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2678
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2679
         * map. See {@link AccountSessionCreateParams.Components.IssuingCard#extraParams} for the
2680
         * field documentation.
2681
         */
2682
        public Builder putExtraParam(String key, Object value) {
2683
          if (this.extraParams == null) {
×
2684
            this.extraParams = new HashMap<>();
×
2685
          }
2686
          this.extraParams.put(key, value);
×
2687
          return this;
×
2688
        }
2689

2690
        /**
2691
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2692
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2693
         * map. See {@link AccountSessionCreateParams.Components.IssuingCard#extraParams} for the
2694
         * field documentation.
2695
         */
2696
        public Builder putAllExtraParam(Map<String, Object> map) {
2697
          if (this.extraParams == null) {
×
2698
            this.extraParams = new HashMap<>();
×
2699
          }
2700
          this.extraParams.putAll(map);
×
2701
          return this;
×
2702
        }
2703

2704
        /** The list of features enabled in the embedded component. */
2705
        public Builder setFeatures(
2706
            AccountSessionCreateParams.Components.IssuingCard.Features features) {
2707
          this.features = features;
×
2708
          return this;
×
2709
        }
2710
      }
2711

2712
      @Getter
2713
      public static class Features {
2714
        /**
2715
         * Map of extra parameters for custom features not available in this client library. The
2716
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2717
         * Instead, each key/value pair is serialized as if the key is a root-level field
2718
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2719
         * instance.
2720
         */
2721
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2722
        Map<String, Object> extraParams;
2723

2724
        private Features(Map<String, Object> extraParams) {
×
2725
          this.extraParams = extraParams;
×
2726
        }
×
2727

2728
        public static Builder builder() {
2729
          return new Builder();
×
2730
        }
2731

2732
        public static class Builder {
×
2733
          private Map<String, Object> extraParams;
2734

2735
          /** Finalize and obtain parameter instance from this builder. */
2736
          public AccountSessionCreateParams.Components.IssuingCard.Features build() {
2737
            return new AccountSessionCreateParams.Components.IssuingCard.Features(this.extraParams);
×
2738
          }
2739

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

2754
          /**
2755
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2756
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2757
           * map. See {@link AccountSessionCreateParams.Components.IssuingCard.Features#extraParams}
2758
           * for the field documentation.
2759
           */
2760
          public Builder putAllExtraParam(Map<String, Object> map) {
2761
            if (this.extraParams == null) {
×
2762
              this.extraParams = new HashMap<>();
×
2763
            }
2764
            this.extraParams.putAll(map);
×
2765
            return this;
×
2766
          }
2767
        }
2768
      }
2769
    }
2770

2771
    @Getter
2772
    public static class IssuingCardsList {
2773
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2774
      @SerializedName("enabled")
2775
      Boolean enabled;
2776

2777
      /**
2778
       * Map of extra parameters for custom features not available in this client library. The
2779
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2780
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2781
       * name in this param object. Effectively, this map is flattened to its parent instance.
2782
       */
2783
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2784
      Map<String, Object> extraParams;
2785

2786
      /** The list of features enabled in the embedded component. */
2787
      @SerializedName("features")
2788
      Features features;
2789

2790
      private IssuingCardsList(
2791
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2792
        this.enabled = enabled;
×
2793
        this.extraParams = extraParams;
×
2794
        this.features = features;
×
2795
      }
×
2796

2797
      public static Builder builder() {
2798
        return new Builder();
×
2799
      }
2800

2801
      public static class Builder {
×
2802
        private Boolean enabled;
2803

2804
        private Map<String, Object> extraParams;
2805

2806
        private Features features;
2807

2808
        /** Finalize and obtain parameter instance from this builder. */
2809
        public AccountSessionCreateParams.Components.IssuingCardsList build() {
2810
          return new AccountSessionCreateParams.Components.IssuingCardsList(
×
2811
              this.enabled, this.extraParams, this.features);
2812
        }
2813

2814
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2815
        public Builder setEnabled(Boolean enabled) {
2816
          this.enabled = enabled;
×
2817
          return this;
×
2818
        }
2819

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

2834
        /**
2835
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2836
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2837
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
2838
         * the field documentation.
2839
         */
2840
        public Builder putAllExtraParam(Map<String, Object> map) {
2841
          if (this.extraParams == null) {
×
2842
            this.extraParams = new HashMap<>();
×
2843
          }
2844
          this.extraParams.putAll(map);
×
2845
          return this;
×
2846
        }
2847

2848
        /** The list of features enabled in the embedded component. */
2849
        public Builder setFeatures(
2850
            AccountSessionCreateParams.Components.IssuingCardsList.Features features) {
2851
          this.features = features;
×
2852
          return this;
×
2853
        }
2854
      }
2855

2856
      @Getter
2857
      public static class Features {
2858
        /** Whether to allow card management features. */
2859
        @SerializedName("card_management")
2860
        Boolean cardManagement;
2861

2862
        /** Whether to allow cardholder management features. */
2863
        @SerializedName("cardholder_management")
2864
        Boolean cardholderManagement;
2865

2866
        /**
2867
         * Map of extra parameters for custom features not available in this client library. The
2868
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2869
         * Instead, each key/value pair is serialized as if the key is a root-level field
2870
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2871
         * instance.
2872
         */
2873
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2874
        Map<String, Object> extraParams;
2875

2876
        private Features(
2877
            Boolean cardManagement, Boolean cardholderManagement, Map<String, Object> extraParams) {
×
2878
          this.cardManagement = cardManagement;
×
2879
          this.cardholderManagement = cardholderManagement;
×
2880
          this.extraParams = extraParams;
×
2881
        }
×
2882

2883
        public static Builder builder() {
2884
          return new Builder();
×
2885
        }
2886

2887
        public static class Builder {
×
2888
          private Boolean cardManagement;
2889

2890
          private Boolean cardholderManagement;
2891

2892
          private Map<String, Object> extraParams;
2893

2894
          /** Finalize and obtain parameter instance from this builder. */
2895
          public AccountSessionCreateParams.Components.IssuingCardsList.Features build() {
2896
            return new AccountSessionCreateParams.Components.IssuingCardsList.Features(
×
2897
                this.cardManagement, this.cardholderManagement, this.extraParams);
2898
          }
2899

2900
          /** Whether to allow card management features. */
2901
          public Builder setCardManagement(Boolean cardManagement) {
2902
            this.cardManagement = cardManagement;
×
2903
            return this;
×
2904
          }
2905

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

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

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

2945
    @Getter
2946
    public static class NotificationBanner {
2947
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2948
      @SerializedName("enabled")
2949
      Boolean enabled;
2950

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

2960
      /** The list of features enabled in the embedded component. */
2961
      @SerializedName("features")
2962
      Features features;
2963

2964
      private NotificationBanner(
2965
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2966
        this.enabled = enabled;
×
2967
        this.extraParams = extraParams;
×
2968
        this.features = features;
×
2969
      }
×
2970

2971
      public static Builder builder() {
2972
        return new Builder();
×
2973
      }
2974

2975
      public static class Builder {
×
2976
        private Boolean enabled;
2977

2978
        private Map<String, Object> extraParams;
2979

2980
        private Features features;
2981

2982
        /** Finalize and obtain parameter instance from this builder. */
2983
        public AccountSessionCreateParams.Components.NotificationBanner build() {
2984
          return new AccountSessionCreateParams.Components.NotificationBanner(
×
2985
              this.enabled, this.extraParams, this.features);
2986
        }
2987

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

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

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

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

3030
      @Getter
3031
      public static class Features {
3032
        /**
3033
         * Whether to allow platforms to control bank account collection for their connected
3034
         * accounts. This feature can only be false for custom accounts (or accounts where the
3035
         * platform is compliance owner). Otherwise, bank account collection is determined by
3036
         * compliance requirements.
3037
         */
3038
        @SerializedName("external_account_collection")
3039
        Boolean externalAccountCollection;
3040

3041
        /**
3042
         * Map of extra parameters for custom features not available in this client library. The
3043
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3044
         * Instead, each key/value pair is serialized as if the key is a root-level field
3045
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3046
         * instance.
3047
         */
3048
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3049
        Map<String, Object> extraParams;
3050

3051
        private Features(Boolean externalAccountCollection, Map<String, Object> extraParams) {
×
3052
          this.externalAccountCollection = externalAccountCollection;
×
3053
          this.extraParams = extraParams;
×
3054
        }
×
3055

3056
        public static Builder builder() {
3057
          return new Builder();
×
3058
        }
3059

3060
        public static class Builder {
×
3061
          private Boolean externalAccountCollection;
3062

3063
          private Map<String, Object> extraParams;
3064

3065
          /** Finalize and obtain parameter instance from this builder. */
3066
          public AccountSessionCreateParams.Components.NotificationBanner.Features build() {
3067
            return new AccountSessionCreateParams.Components.NotificationBanner.Features(
×
3068
                this.externalAccountCollection, this.extraParams);
3069
          }
3070

3071
          /**
3072
           * Whether to allow platforms to control bank account collection for their connected
3073
           * accounts. This feature can only be false for custom accounts (or accounts where the
3074
           * platform is compliance owner). Otherwise, bank account collection is determined by
3075
           * compliance requirements.
3076
           */
3077
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
3078
            this.externalAccountCollection = externalAccountCollection;
×
3079
            return this;
×
3080
          }
3081

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

3097
          /**
3098
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3099
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3100
           * map. See {@link
3101
           * AccountSessionCreateParams.Components.NotificationBanner.Features#extraParams} for the
3102
           * field documentation.
3103
           */
3104
          public Builder putAllExtraParam(Map<String, Object> map) {
3105
            if (this.extraParams == null) {
×
3106
              this.extraParams = new HashMap<>();
×
3107
            }
3108
            this.extraParams.putAll(map);
×
3109
            return this;
×
3110
          }
3111
        }
3112
      }
3113
    }
3114

3115
    @Getter
3116
    public static class PaymentDetails {
3117
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3118
      @SerializedName("enabled")
3119
      Boolean enabled;
3120

3121
      /**
3122
       * Map of extra parameters for custom features not available in this client library. The
3123
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3124
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3125
       * name in this param object. Effectively, this map is flattened to its parent instance.
3126
       */
3127
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3128
      Map<String, Object> extraParams;
3129

3130
      /** The list of features enabled in the embedded component. */
3131
      @SerializedName("features")
3132
      Features features;
3133

3134
      private PaymentDetails(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3135
        this.enabled = enabled;
×
3136
        this.extraParams = extraParams;
×
3137
        this.features = features;
×
3138
      }
×
3139

3140
      public static Builder builder() {
3141
        return new Builder();
×
3142
      }
3143

3144
      public static class Builder {
×
3145
        private Boolean enabled;
3146

3147
        private Map<String, Object> extraParams;
3148

3149
        private Features features;
3150

3151
        /** Finalize and obtain parameter instance from this builder. */
3152
        public AccountSessionCreateParams.Components.PaymentDetails build() {
3153
          return new AccountSessionCreateParams.Components.PaymentDetails(
×
3154
              this.enabled, this.extraParams, this.features);
3155
        }
3156

3157
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3158
        public Builder setEnabled(Boolean enabled) {
3159
          this.enabled = enabled;
×
3160
          return this;
×
3161
        }
3162

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

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

3191
        /** The list of features enabled in the embedded component. */
3192
        public Builder setFeatures(
3193
            AccountSessionCreateParams.Components.PaymentDetails.Features features) {
3194
          this.features = features;
×
3195
          return this;
×
3196
        }
3197
      }
3198

3199
      @Getter
3200
      public static class Features {
3201
        /**
3202
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3203
         * default.
3204
         */
3205
        @SerializedName("capture_payments")
3206
        Boolean capturePayments;
3207

3208
        /**
3209
         * Whether to allow connected accounts to manage destination charges that are created on
3210
         * behalf of them. This is {@code false} by default.
3211
         */
3212
        @SerializedName("destination_on_behalf_of_charge_management")
3213
        Boolean destinationOnBehalfOfChargeManagement;
3214

3215
        /**
3216
         * Whether to allow responding to disputes, including submitting evidence and accepting
3217
         * disputes. This is {@code true} by default.
3218
         */
3219
        @SerializedName("dispute_management")
3220
        Boolean disputeManagement;
3221

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

3232
        /** Whether to allow sending refunds. This is {@code true} by default. */
3233
        @SerializedName("refund_management")
3234
        Boolean refundManagement;
3235

3236
        private Features(
3237
            Boolean capturePayments,
3238
            Boolean destinationOnBehalfOfChargeManagement,
3239
            Boolean disputeManagement,
3240
            Map<String, Object> extraParams,
3241
            Boolean refundManagement) {
×
3242
          this.capturePayments = capturePayments;
×
3243
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3244
          this.disputeManagement = disputeManagement;
×
3245
          this.extraParams = extraParams;
×
3246
          this.refundManagement = refundManagement;
×
3247
        }
×
3248

3249
        public static Builder builder() {
3250
          return new Builder();
×
3251
        }
3252

3253
        public static class Builder {
×
3254
          private Boolean capturePayments;
3255

3256
          private Boolean destinationOnBehalfOfChargeManagement;
3257

3258
          private Boolean disputeManagement;
3259

3260
          private Map<String, Object> extraParams;
3261

3262
          private Boolean refundManagement;
3263

3264
          /** Finalize and obtain parameter instance from this builder. */
3265
          public AccountSessionCreateParams.Components.PaymentDetails.Features build() {
3266
            return new AccountSessionCreateParams.Components.PaymentDetails.Features(
×
3267
                this.capturePayments,
3268
                this.destinationOnBehalfOfChargeManagement,
3269
                this.disputeManagement,
3270
                this.extraParams,
3271
                this.refundManagement);
3272
          }
3273

3274
          /**
3275
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3276
           * default.
3277
           */
3278
          public Builder setCapturePayments(Boolean capturePayments) {
3279
            this.capturePayments = capturePayments;
×
3280
            return this;
×
3281
          }
3282

3283
          /**
3284
           * Whether to allow connected accounts to manage destination charges that are created on
3285
           * behalf of them. This is {@code false} by default.
3286
           */
3287
          public Builder setDestinationOnBehalfOfChargeManagement(
3288
              Boolean destinationOnBehalfOfChargeManagement) {
3289
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3290
            return this;
×
3291
          }
3292

3293
          /**
3294
           * Whether to allow responding to disputes, including submitting evidence and accepting
3295
           * disputes. This is {@code true} by default.
3296
           */
3297
          public Builder setDisputeManagement(Boolean disputeManagement) {
3298
            this.disputeManagement = disputeManagement;
×
3299
            return this;
×
3300
          }
3301

3302
          /**
3303
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3304
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3305
           * map. See {@link
3306
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3307
           * field documentation.
3308
           */
3309
          public Builder putExtraParam(String key, Object value) {
3310
            if (this.extraParams == null) {
×
3311
              this.extraParams = new HashMap<>();
×
3312
            }
3313
            this.extraParams.put(key, value);
×
3314
            return this;
×
3315
          }
3316

3317
          /**
3318
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3319
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3320
           * map. See {@link
3321
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3322
           * field documentation.
3323
           */
3324
          public Builder putAllExtraParam(Map<String, Object> map) {
3325
            if (this.extraParams == null) {
×
3326
              this.extraParams = new HashMap<>();
×
3327
            }
3328
            this.extraParams.putAll(map);
×
3329
            return this;
×
3330
          }
3331

3332
          /** Whether to allow sending refunds. This is {@code true} by default. */
3333
          public Builder setRefundManagement(Boolean refundManagement) {
3334
            this.refundManagement = refundManagement;
×
3335
            return this;
×
3336
          }
3337
        }
3338
      }
3339
    }
3340

3341
    @Getter
3342
    public static class PaymentMethodSettings {
3343
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3344
      @SerializedName("enabled")
3345
      Boolean enabled;
3346

3347
      /**
3348
       * Map of extra parameters for custom features not available in this client library. The
3349
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3350
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3351
       * name in this param object. Effectively, this map is flattened to its parent instance.
3352
       */
3353
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3354
      Map<String, Object> extraParams;
3355

3356
      /** The list of features enabled in the embedded component. */
3357
      @SerializedName("features")
3358
      Features features;
3359

3360
      private PaymentMethodSettings(
3361
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3362
        this.enabled = enabled;
×
3363
        this.extraParams = extraParams;
×
3364
        this.features = features;
×
3365
      }
×
3366

3367
      public static Builder builder() {
3368
        return new Builder();
×
3369
      }
3370

3371
      public static class Builder {
×
3372
        private Boolean enabled;
3373

3374
        private Map<String, Object> extraParams;
3375

3376
        private Features features;
3377

3378
        /** Finalize and obtain parameter instance from this builder. */
3379
        public AccountSessionCreateParams.Components.PaymentMethodSettings build() {
3380
          return new AccountSessionCreateParams.Components.PaymentMethodSettings(
×
3381
              this.enabled, this.extraParams, this.features);
3382
        }
3383

3384
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3385
        public Builder setEnabled(Boolean enabled) {
3386
          this.enabled = enabled;
×
3387
          return this;
×
3388
        }
3389

3390
        /**
3391
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3392
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3393
         * map. See {@link AccountSessionCreateParams.Components.PaymentMethodSettings#extraParams}
3394
         * for the field documentation.
3395
         */
3396
        public Builder putExtraParam(String key, Object value) {
3397
          if (this.extraParams == null) {
×
3398
            this.extraParams = new HashMap<>();
×
3399
          }
3400
          this.extraParams.put(key, value);
×
3401
          return this;
×
3402
        }
3403

3404
        /**
3405
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3406
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3407
         * map. See {@link AccountSessionCreateParams.Components.PaymentMethodSettings#extraParams}
3408
         * for the field documentation.
3409
         */
3410
        public Builder putAllExtraParam(Map<String, Object> map) {
3411
          if (this.extraParams == null) {
×
3412
            this.extraParams = new HashMap<>();
×
3413
          }
3414
          this.extraParams.putAll(map);
×
3415
          return this;
×
3416
        }
3417

3418
        /** The list of features enabled in the embedded component. */
3419
        public Builder setFeatures(
3420
            AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) {
3421
          this.features = features;
×
3422
          return this;
×
3423
        }
3424
      }
3425

3426
      @Getter
3427
      public static class Features {
3428
        /**
3429
         * Map of extra parameters for custom features not available in this client library. The
3430
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3431
         * Instead, each key/value pair is serialized as if the key is a root-level field
3432
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3433
         * instance.
3434
         */
3435
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3436
        Map<String, Object> extraParams;
3437

3438
        private Features(Map<String, Object> extraParams) {
×
3439
          this.extraParams = extraParams;
×
3440
        }
×
3441

3442
        public static Builder builder() {
3443
          return new Builder();
×
3444
        }
3445

3446
        public static class Builder {
×
3447
          private Map<String, Object> extraParams;
3448

3449
          /** Finalize and obtain parameter instance from this builder. */
3450
          public AccountSessionCreateParams.Components.PaymentMethodSettings.Features build() {
3451
            return new AccountSessionCreateParams.Components.PaymentMethodSettings.Features(
×
3452
                this.extraParams);
3453
          }
3454

3455
          /**
3456
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3457
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3458
           * map. See {@link
3459
           * AccountSessionCreateParams.Components.PaymentMethodSettings.Features#extraParams} for
3460
           * the field documentation.
3461
           */
3462
          public Builder putExtraParam(String key, Object value) {
3463
            if (this.extraParams == null) {
×
3464
              this.extraParams = new HashMap<>();
×
3465
            }
3466
            this.extraParams.put(key, value);
×
3467
            return this;
×
3468
          }
3469

3470
          /**
3471
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3472
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3473
           * map. See {@link
3474
           * AccountSessionCreateParams.Components.PaymentMethodSettings.Features#extraParams} for
3475
           * the field documentation.
3476
           */
3477
          public Builder putAllExtraParam(Map<String, Object> map) {
3478
            if (this.extraParams == null) {
×
3479
              this.extraParams = new HashMap<>();
×
3480
            }
3481
            this.extraParams.putAll(map);
×
3482
            return this;
×
3483
          }
3484
        }
3485
      }
3486
    }
3487

3488
    @Getter
3489
    public static class Payments {
3490
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3491
      @SerializedName("enabled")
3492
      Boolean enabled;
3493

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

3503
      /** The list of features enabled in the embedded component. */
3504
      @SerializedName("features")
3505
      Features features;
3506

3507
      private Payments(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3508
        this.enabled = enabled;
×
3509
        this.extraParams = extraParams;
×
3510
        this.features = features;
×
3511
      }
×
3512

3513
      public static Builder builder() {
3514
        return new Builder();
×
3515
      }
3516

3517
      public static class Builder {
×
3518
        private Boolean enabled;
3519

3520
        private Map<String, Object> extraParams;
3521

3522
        private Features features;
3523

3524
        /** Finalize and obtain parameter instance from this builder. */
3525
        public AccountSessionCreateParams.Components.Payments build() {
3526
          return new AccountSessionCreateParams.Components.Payments(
×
3527
              this.enabled, this.extraParams, this.features);
3528
        }
3529

3530
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3531
        public Builder setEnabled(Boolean enabled) {
3532
          this.enabled = enabled;
×
3533
          return this;
×
3534
        }
3535

3536
        /**
3537
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3538
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3539
         * map. See {@link AccountSessionCreateParams.Components.Payments#extraParams} for the field
3540
         * documentation.
3541
         */
3542
        public Builder putExtraParam(String key, Object value) {
3543
          if (this.extraParams == null) {
×
3544
            this.extraParams = new HashMap<>();
×
3545
          }
3546
          this.extraParams.put(key, value);
×
3547
          return this;
×
3548
        }
3549

3550
        /**
3551
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3552
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3553
         * map. See {@link AccountSessionCreateParams.Components.Payments#extraParams} for the field
3554
         * documentation.
3555
         */
3556
        public Builder putAllExtraParam(Map<String, Object> map) {
3557
          if (this.extraParams == null) {
×
3558
            this.extraParams = new HashMap<>();
×
3559
          }
3560
          this.extraParams.putAll(map);
×
3561
          return this;
×
3562
        }
3563

3564
        /** The list of features enabled in the embedded component. */
3565
        public Builder setFeatures(
3566
            AccountSessionCreateParams.Components.Payments.Features features) {
3567
          this.features = features;
×
3568
          return this;
×
3569
        }
3570
      }
3571

3572
      @Getter
3573
      public static class Features {
3574
        /**
3575
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3576
         * default.
3577
         */
3578
        @SerializedName("capture_payments")
3579
        Boolean capturePayments;
3580

3581
        /**
3582
         * Whether to allow connected accounts to manage destination charges that are created on
3583
         * behalf of them. This is {@code false} by default.
3584
         */
3585
        @SerializedName("destination_on_behalf_of_charge_management")
3586
        Boolean destinationOnBehalfOfChargeManagement;
3587

3588
        /**
3589
         * Whether to allow responding to disputes, including submitting evidence and accepting
3590
         * disputes. This is {@code true} by default.
3591
         */
3592
        @SerializedName("dispute_management")
3593
        Boolean disputeManagement;
3594

3595
        /**
3596
         * Map of extra parameters for custom features not available in this client library. The
3597
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3598
         * Instead, each key/value pair is serialized as if the key is a root-level field
3599
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3600
         * instance.
3601
         */
3602
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3603
        Map<String, Object> extraParams;
3604

3605
        /** Whether to allow sending refunds. This is {@code true} by default. */
3606
        @SerializedName("refund_management")
3607
        Boolean refundManagement;
3608

3609
        private Features(
3610
            Boolean capturePayments,
3611
            Boolean destinationOnBehalfOfChargeManagement,
3612
            Boolean disputeManagement,
3613
            Map<String, Object> extraParams,
3614
            Boolean refundManagement) {
×
3615
          this.capturePayments = capturePayments;
×
3616
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3617
          this.disputeManagement = disputeManagement;
×
3618
          this.extraParams = extraParams;
×
3619
          this.refundManagement = refundManagement;
×
3620
        }
×
3621

3622
        public static Builder builder() {
3623
          return new Builder();
×
3624
        }
3625

3626
        public static class Builder {
×
3627
          private Boolean capturePayments;
3628

3629
          private Boolean destinationOnBehalfOfChargeManagement;
3630

3631
          private Boolean disputeManagement;
3632

3633
          private Map<String, Object> extraParams;
3634

3635
          private Boolean refundManagement;
3636

3637
          /** Finalize and obtain parameter instance from this builder. */
3638
          public AccountSessionCreateParams.Components.Payments.Features build() {
3639
            return new AccountSessionCreateParams.Components.Payments.Features(
×
3640
                this.capturePayments,
3641
                this.destinationOnBehalfOfChargeManagement,
3642
                this.disputeManagement,
3643
                this.extraParams,
3644
                this.refundManagement);
3645
          }
3646

3647
          /**
3648
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3649
           * default.
3650
           */
3651
          public Builder setCapturePayments(Boolean capturePayments) {
3652
            this.capturePayments = capturePayments;
×
3653
            return this;
×
3654
          }
3655

3656
          /**
3657
           * Whether to allow connected accounts to manage destination charges that are created on
3658
           * behalf of them. This is {@code false} by default.
3659
           */
3660
          public Builder setDestinationOnBehalfOfChargeManagement(
3661
              Boolean destinationOnBehalfOfChargeManagement) {
3662
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3663
            return this;
×
3664
          }
3665

3666
          /**
3667
           * Whether to allow responding to disputes, including submitting evidence and accepting
3668
           * disputes. This is {@code true} by default.
3669
           */
3670
          public Builder setDisputeManagement(Boolean disputeManagement) {
3671
            this.disputeManagement = disputeManagement;
×
3672
            return this;
×
3673
          }
3674

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

3689
          /**
3690
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3691
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3692
           * map. See {@link AccountSessionCreateParams.Components.Payments.Features#extraParams}
3693
           * for the field documentation.
3694
           */
3695
          public Builder putAllExtraParam(Map<String, Object> map) {
3696
            if (this.extraParams == null) {
×
3697
              this.extraParams = new HashMap<>();
×
3698
            }
3699
            this.extraParams.putAll(map);
×
3700
            return this;
×
3701
          }
3702

3703
          /** Whether to allow sending refunds. This is {@code true} by default. */
3704
          public Builder setRefundManagement(Boolean refundManagement) {
3705
            this.refundManagement = refundManagement;
×
3706
            return this;
×
3707
          }
3708
        }
3709
      }
3710
    }
3711

3712
    @Getter
3713
    public static class Payouts {
3714
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3715
      @SerializedName("enabled")
3716
      Boolean enabled;
3717

3718
      /**
3719
       * Map of extra parameters for custom features not available in this client library. The
3720
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3721
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3722
       * name in this param object. Effectively, this map is flattened to its parent instance.
3723
       */
3724
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3725
      Map<String, Object> extraParams;
3726

3727
      /** The list of features enabled in the embedded component. */
3728
      @SerializedName("features")
3729
      Features features;
3730

3731
      private Payouts(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3732
        this.enabled = enabled;
×
3733
        this.extraParams = extraParams;
×
3734
        this.features = features;
×
3735
      }
×
3736

3737
      public static Builder builder() {
3738
        return new Builder();
×
3739
      }
3740

3741
      public static class Builder {
×
3742
        private Boolean enabled;
3743

3744
        private Map<String, Object> extraParams;
3745

3746
        private Features features;
3747

3748
        /** Finalize and obtain parameter instance from this builder. */
3749
        public AccountSessionCreateParams.Components.Payouts build() {
3750
          return new AccountSessionCreateParams.Components.Payouts(
×
3751
              this.enabled, this.extraParams, this.features);
3752
        }
3753

3754
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3755
        public Builder setEnabled(Boolean enabled) {
3756
          this.enabled = enabled;
×
3757
          return this;
×
3758
        }
3759

3760
        /**
3761
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3762
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3763
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
3764
         * documentation.
3765
         */
3766
        public Builder putExtraParam(String key, Object value) {
3767
          if (this.extraParams == null) {
×
3768
            this.extraParams = new HashMap<>();
×
3769
          }
3770
          this.extraParams.put(key, value);
×
3771
          return this;
×
3772
        }
3773

3774
        /**
3775
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3776
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3777
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
3778
         * documentation.
3779
         */
3780
        public Builder putAllExtraParam(Map<String, Object> map) {
3781
          if (this.extraParams == null) {
×
3782
            this.extraParams = new HashMap<>();
×
3783
          }
3784
          this.extraParams.putAll(map);
×
3785
          return this;
×
3786
        }
3787

3788
        /** The list of features enabled in the embedded component. */
3789
        public Builder setFeatures(
3790
            AccountSessionCreateParams.Components.Payouts.Features features) {
3791
          this.features = features;
×
3792
          return this;
×
3793
        }
3794
      }
3795

3796
      @Getter
3797
      public static class Features {
3798
        /**
3799
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
3800
         * Loss Liability, default {@code false} otherwise.
3801
         */
3802
        @SerializedName("edit_payout_schedule")
3803
        Boolean editPayoutSchedule;
3804

3805
        /**
3806
         * Whether to allow platforms to control bank account collection for their connected
3807
         * accounts. This feature can only be false for custom accounts (or accounts where the
3808
         * platform is compliance owner). Otherwise, bank account collection is determined by
3809
         * compliance requirements.
3810
         */
3811
        @SerializedName("external_account_collection")
3812
        Boolean externalAccountCollection;
3813

3814
        /**
3815
         * Map of extra parameters for custom features not available in this client library. The
3816
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3817
         * Instead, each key/value pair is serialized as if the key is a root-level field
3818
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3819
         * instance.
3820
         */
3821
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3822
        Map<String, Object> extraParams;
3823

3824
        /**
3825
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
3826
         * Liability, default {@code false} otherwise.
3827
         */
3828
        @SerializedName("instant_payouts")
3829
        Boolean instantPayouts;
3830

3831
        /**
3832
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
3833
         * Liability, default {@code false} otherwise.
3834
         */
3835
        @SerializedName("standard_payouts")
3836
        Boolean standardPayouts;
3837

3838
        private Features(
3839
            Boolean editPayoutSchedule,
3840
            Boolean externalAccountCollection,
3841
            Map<String, Object> extraParams,
3842
            Boolean instantPayouts,
3843
            Boolean standardPayouts) {
×
3844
          this.editPayoutSchedule = editPayoutSchedule;
×
3845
          this.externalAccountCollection = externalAccountCollection;
×
3846
          this.extraParams = extraParams;
×
3847
          this.instantPayouts = instantPayouts;
×
3848
          this.standardPayouts = standardPayouts;
×
3849
        }
×
3850

3851
        public static Builder builder() {
3852
          return new Builder();
×
3853
        }
3854

3855
        public static class Builder {
×
3856
          private Boolean editPayoutSchedule;
3857

3858
          private Boolean externalAccountCollection;
3859

3860
          private Map<String, Object> extraParams;
3861

3862
          private Boolean instantPayouts;
3863

3864
          private Boolean standardPayouts;
3865

3866
          /** Finalize and obtain parameter instance from this builder. */
3867
          public AccountSessionCreateParams.Components.Payouts.Features build() {
3868
            return new AccountSessionCreateParams.Components.Payouts.Features(
×
3869
                this.editPayoutSchedule,
3870
                this.externalAccountCollection,
3871
                this.extraParams,
3872
                this.instantPayouts,
3873
                this.standardPayouts);
3874
          }
3875

3876
          /**
3877
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
3878
           * Loss Liability, default {@code false} otherwise.
3879
           */
3880
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
3881
            this.editPayoutSchedule = editPayoutSchedule;
×
3882
            return this;
×
3883
          }
3884

3885
          /**
3886
           * Whether to allow platforms to control bank account collection for their connected
3887
           * accounts. This feature can only be false for custom accounts (or accounts where the
3888
           * platform is compliance owner). Otherwise, bank account collection is determined by
3889
           * compliance requirements.
3890
           */
3891
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
3892
            this.externalAccountCollection = externalAccountCollection;
×
3893
            return this;
×
3894
          }
3895

3896
          /**
3897
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3898
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3899
           * map. See {@link AccountSessionCreateParams.Components.Payouts.Features#extraParams} for
3900
           * the field documentation.
3901
           */
3902
          public Builder putExtraParam(String key, Object value) {
3903
            if (this.extraParams == null) {
×
3904
              this.extraParams = new HashMap<>();
×
3905
            }
3906
            this.extraParams.put(key, value);
×
3907
            return this;
×
3908
          }
3909

3910
          /**
3911
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3912
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3913
           * map. See {@link AccountSessionCreateParams.Components.Payouts.Features#extraParams} for
3914
           * the field documentation.
3915
           */
3916
          public Builder putAllExtraParam(Map<String, Object> map) {
3917
            if (this.extraParams == null) {
×
3918
              this.extraParams = new HashMap<>();
×
3919
            }
3920
            this.extraParams.putAll(map);
×
3921
            return this;
×
3922
          }
3923

3924
          /**
3925
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
3926
           * Loss Liability, default {@code false} otherwise.
3927
           */
3928
          public Builder setInstantPayouts(Boolean instantPayouts) {
3929
            this.instantPayouts = instantPayouts;
×
3930
            return this;
×
3931
          }
3932

3933
          /**
3934
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
3935
           * Loss Liability, default {@code false} otherwise.
3936
           */
3937
          public Builder setStandardPayouts(Boolean standardPayouts) {
3938
            this.standardPayouts = standardPayouts;
×
3939
            return this;
×
3940
          }
3941
        }
3942
      }
3943
    }
3944

3945
    @Getter
3946
    public static class PayoutsList {
3947
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3948
      @SerializedName("enabled")
3949
      Boolean enabled;
3950

3951
      /**
3952
       * Map of extra parameters for custom features not available in this client library. The
3953
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3954
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3955
       * name in this param object. Effectively, this map is flattened to its parent instance.
3956
       */
3957
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3958
      Map<String, Object> extraParams;
3959

3960
      /** The list of features enabled in the embedded component. */
3961
      @SerializedName("features")
3962
      Features features;
3963

3964
      private PayoutsList(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3965
        this.enabled = enabled;
×
3966
        this.extraParams = extraParams;
×
3967
        this.features = features;
×
3968
      }
×
3969

3970
      public static Builder builder() {
3971
        return new Builder();
×
3972
      }
3973

3974
      public static class Builder {
×
3975
        private Boolean enabled;
3976

3977
        private Map<String, Object> extraParams;
3978

3979
        private Features features;
3980

3981
        /** Finalize and obtain parameter instance from this builder. */
3982
        public AccountSessionCreateParams.Components.PayoutsList build() {
3983
          return new AccountSessionCreateParams.Components.PayoutsList(
×
3984
              this.enabled, this.extraParams, this.features);
3985
        }
3986

3987
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3988
        public Builder setEnabled(Boolean enabled) {
3989
          this.enabled = enabled;
×
3990
          return this;
×
3991
        }
3992

3993
        /**
3994
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3995
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3996
         * map. See {@link AccountSessionCreateParams.Components.PayoutsList#extraParams} for the
3997
         * field documentation.
3998
         */
3999
        public Builder putExtraParam(String key, Object value) {
4000
          if (this.extraParams == null) {
×
4001
            this.extraParams = new HashMap<>();
×
4002
          }
4003
          this.extraParams.put(key, value);
×
4004
          return this;
×
4005
        }
4006

4007
        /**
4008
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4009
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4010
         * map. See {@link AccountSessionCreateParams.Components.PayoutsList#extraParams} for the
4011
         * field documentation.
4012
         */
4013
        public Builder putAllExtraParam(Map<String, Object> map) {
4014
          if (this.extraParams == null) {
×
4015
            this.extraParams = new HashMap<>();
×
4016
          }
4017
          this.extraParams.putAll(map);
×
4018
          return this;
×
4019
        }
4020

4021
        /** The list of features enabled in the embedded component. */
4022
        public Builder setFeatures(
4023
            AccountSessionCreateParams.Components.PayoutsList.Features features) {
4024
          this.features = features;
×
4025
          return this;
×
4026
        }
4027
      }
4028

4029
      @Getter
4030
      public static class Features {
4031
        /**
4032
         * Map of extra parameters for custom features not available in this client library. The
4033
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4034
         * Instead, each key/value pair is serialized as if the key is a root-level field
4035
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4036
         * instance.
4037
         */
4038
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4039
        Map<String, Object> extraParams;
4040

4041
        private Features(Map<String, Object> extraParams) {
×
4042
          this.extraParams = extraParams;
×
4043
        }
×
4044

4045
        public static Builder builder() {
4046
          return new Builder();
×
4047
        }
4048

4049
        public static class Builder {
×
4050
          private Map<String, Object> extraParams;
4051

4052
          /** Finalize and obtain parameter instance from this builder. */
4053
          public AccountSessionCreateParams.Components.PayoutsList.Features build() {
4054
            return new AccountSessionCreateParams.Components.PayoutsList.Features(this.extraParams);
×
4055
          }
4056

4057
          /**
4058
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4059
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4060
           * map. See {@link AccountSessionCreateParams.Components.PayoutsList.Features#extraParams}
4061
           * for the field documentation.
4062
           */
4063
          public Builder putExtraParam(String key, Object value) {
4064
            if (this.extraParams == null) {
×
4065
              this.extraParams = new HashMap<>();
×
4066
            }
4067
            this.extraParams.put(key, value);
×
4068
            return this;
×
4069
          }
4070

4071
          /**
4072
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4073
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4074
           * map. See {@link AccountSessionCreateParams.Components.PayoutsList.Features#extraParams}
4075
           * for the field documentation.
4076
           */
4077
          public Builder putAllExtraParam(Map<String, Object> map) {
4078
            if (this.extraParams == null) {
×
4079
              this.extraParams = new HashMap<>();
×
4080
            }
4081
            this.extraParams.putAll(map);
×
4082
            return this;
×
4083
          }
4084
        }
4085
      }
4086
    }
4087

4088
    @Getter
4089
    public static class Recipients {
4090
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4091
      @SerializedName("enabled")
4092
      Boolean enabled;
4093

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

4103
      /** The list of features enabled in the embedded component. */
4104
      @SerializedName("features")
4105
      Features features;
4106

4107
      private Recipients(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4108
        this.enabled = enabled;
×
4109
        this.extraParams = extraParams;
×
4110
        this.features = features;
×
4111
      }
×
4112

4113
      public static Builder builder() {
4114
        return new Builder();
×
4115
      }
4116

4117
      public static class Builder {
×
4118
        private Boolean enabled;
4119

4120
        private Map<String, Object> extraParams;
4121

4122
        private Features features;
4123

4124
        /** Finalize and obtain parameter instance from this builder. */
4125
        public AccountSessionCreateParams.Components.Recipients build() {
4126
          return new AccountSessionCreateParams.Components.Recipients(
×
4127
              this.enabled, this.extraParams, this.features);
4128
        }
4129

4130
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4131
        public Builder setEnabled(Boolean enabled) {
4132
          this.enabled = enabled;
×
4133
          return this;
×
4134
        }
4135

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

4150
        /**
4151
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4152
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4153
         * map. See {@link AccountSessionCreateParams.Components.Recipients#extraParams} for the
4154
         * field documentation.
4155
         */
4156
        public Builder putAllExtraParam(Map<String, Object> map) {
4157
          if (this.extraParams == null) {
×
4158
            this.extraParams = new HashMap<>();
×
4159
          }
4160
          this.extraParams.putAll(map);
×
4161
          return this;
×
4162
        }
4163

4164
        /** The list of features enabled in the embedded component. */
4165
        public Builder setFeatures(
4166
            AccountSessionCreateParams.Components.Recipients.Features features) {
4167
          this.features = features;
×
4168
          return this;
×
4169
        }
4170
      }
4171

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

4184
        private Features(Map<String, Object> extraParams) {
×
4185
          this.extraParams = extraParams;
×
4186
        }
×
4187

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

4192
        public static class Builder {
×
4193
          private Map<String, Object> extraParams;
4194

4195
          /** Finalize and obtain parameter instance from this builder. */
4196
          public AccountSessionCreateParams.Components.Recipients.Features build() {
4197
            return new AccountSessionCreateParams.Components.Recipients.Features(this.extraParams);
×
4198
          }
4199

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

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

4231
    @Getter
4232
    public static class ReportingChart {
4233
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4234
      @SerializedName("enabled")
4235
      Boolean enabled;
4236

4237
      /**
4238
       * Map of extra parameters for custom features not available in this client library. The
4239
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4240
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4241
       * name in this param object. Effectively, this map is flattened to its parent instance.
4242
       */
4243
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4244
      Map<String, Object> extraParams;
4245

4246
      /** The list of features enabled in the embedded component. */
4247
      @SerializedName("features")
4248
      Features features;
4249

NEW
4250
      private ReportingChart(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
NEW
4251
        this.enabled = enabled;
×
NEW
4252
        this.extraParams = extraParams;
×
NEW
4253
        this.features = features;
×
NEW
4254
      }
×
4255

4256
      public static Builder builder() {
NEW
4257
        return new Builder();
×
4258
      }
4259

NEW
4260
      public static class Builder {
×
4261
        private Boolean enabled;
4262

4263
        private Map<String, Object> extraParams;
4264

4265
        private Features features;
4266

4267
        /** Finalize and obtain parameter instance from this builder. */
4268
        public AccountSessionCreateParams.Components.ReportingChart build() {
NEW
4269
          return new AccountSessionCreateParams.Components.ReportingChart(
×
4270
              this.enabled, this.extraParams, this.features);
4271
        }
4272

4273
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4274
        public Builder setEnabled(Boolean enabled) {
NEW
4275
          this.enabled = enabled;
×
NEW
4276
          return this;
×
4277
        }
4278

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

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

4307
        /** The list of features enabled in the embedded component. */
4308
        public Builder setFeatures(
4309
            AccountSessionCreateParams.Components.ReportingChart.Features features) {
NEW
4310
          this.features = features;
×
NEW
4311
          return this;
×
4312
        }
4313
      }
4314

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

NEW
4327
        private Features(Map<String, Object> extraParams) {
×
NEW
4328
          this.extraParams = extraParams;
×
NEW
4329
        }
×
4330

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

NEW
4335
        public static class Builder {
×
4336
          private Map<String, Object> extraParams;
4337

4338
          /** Finalize and obtain parameter instance from this builder. */
4339
          public AccountSessionCreateParams.Components.ReportingChart.Features build() {
NEW
4340
            return new AccountSessionCreateParams.Components.ReportingChart.Features(
×
4341
                this.extraParams);
4342
          }
4343

4344
          /**
4345
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4346
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4347
           * map. See {@link
4348
           * AccountSessionCreateParams.Components.ReportingChart.Features#extraParams} for the
4349
           * field documentation.
4350
           */
4351
          public Builder putExtraParam(String key, Object value) {
NEW
4352
            if (this.extraParams == null) {
×
NEW
4353
              this.extraParams = new HashMap<>();
×
4354
            }
NEW
4355
            this.extraParams.put(key, value);
×
NEW
4356
            return this;
×
4357
          }
4358

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

4377
    @Getter
4378
    public static class TaxRegistrations {
4379
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4380
      @SerializedName("enabled")
4381
      Boolean enabled;
4382

4383
      /**
4384
       * Map of extra parameters for custom features not available in this client library. The
4385
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4386
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4387
       * name in this param object. Effectively, this map is flattened to its parent instance.
4388
       */
4389
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4390
      Map<String, Object> extraParams;
4391

4392
      /** The list of features enabled in the embedded component. */
4393
      @SerializedName("features")
4394
      Features features;
4395

4396
      private TaxRegistrations(
4397
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4398
        this.enabled = enabled;
×
4399
        this.extraParams = extraParams;
×
4400
        this.features = features;
×
4401
      }
×
4402

4403
      public static Builder builder() {
4404
        return new Builder();
×
4405
      }
4406

4407
      public static class Builder {
×
4408
        private Boolean enabled;
4409

4410
        private Map<String, Object> extraParams;
4411

4412
        private Features features;
4413

4414
        /** Finalize and obtain parameter instance from this builder. */
4415
        public AccountSessionCreateParams.Components.TaxRegistrations build() {
4416
          return new AccountSessionCreateParams.Components.TaxRegistrations(
×
4417
              this.enabled, this.extraParams, this.features);
4418
        }
4419

4420
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4421
        public Builder setEnabled(Boolean enabled) {
4422
          this.enabled = enabled;
×
4423
          return this;
×
4424
        }
4425

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

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

4454
        /** The list of features enabled in the embedded component. */
4455
        public Builder setFeatures(
4456
            AccountSessionCreateParams.Components.TaxRegistrations.Features features) {
4457
          this.features = features;
×
4458
          return this;
×
4459
        }
4460
      }
4461

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

4474
        private Features(Map<String, Object> extraParams) {
×
4475
          this.extraParams = extraParams;
×
4476
        }
×
4477

4478
        public static Builder builder() {
4479
          return new Builder();
×
4480
        }
4481

4482
        public static class Builder {
×
4483
          private Map<String, Object> extraParams;
4484

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

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

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

4524
    @Getter
4525
    public static class TaxSettings {
4526
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4527
      @SerializedName("enabled")
4528
      Boolean enabled;
4529

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

4539
      /** The list of features enabled in the embedded component. */
4540
      @SerializedName("features")
4541
      Features features;
4542

4543
      private TaxSettings(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4544
        this.enabled = enabled;
×
4545
        this.extraParams = extraParams;
×
4546
        this.features = features;
×
4547
      }
×
4548

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

4553
      public static class Builder {
×
4554
        private Boolean enabled;
4555

4556
        private Map<String, Object> extraParams;
4557

4558
        private Features features;
4559

4560
        /** Finalize and obtain parameter instance from this builder. */
4561
        public AccountSessionCreateParams.Components.TaxSettings build() {
4562
          return new AccountSessionCreateParams.Components.TaxSettings(
×
4563
              this.enabled, this.extraParams, this.features);
4564
        }
4565

4566
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4567
        public Builder setEnabled(Boolean enabled) {
4568
          this.enabled = enabled;
×
4569
          return this;
×
4570
        }
4571

4572
        /**
4573
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4574
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4575
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4576
         * field documentation.
4577
         */
4578
        public Builder putExtraParam(String key, Object value) {
4579
          if (this.extraParams == null) {
×
4580
            this.extraParams = new HashMap<>();
×
4581
          }
4582
          this.extraParams.put(key, value);
×
4583
          return this;
×
4584
        }
4585

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

4600
        /** The list of features enabled in the embedded component. */
4601
        public Builder setFeatures(
4602
            AccountSessionCreateParams.Components.TaxSettings.Features features) {
4603
          this.features = features;
×
4604
          return this;
×
4605
        }
4606
      }
4607

4608
      @Getter
4609
      public static class Features {
4610
        /**
4611
         * Map of extra parameters for custom features not available in this client library. The
4612
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4613
         * Instead, each key/value pair is serialized as if the key is a root-level field
4614
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4615
         * instance.
4616
         */
4617
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4618
        Map<String, Object> extraParams;
4619

4620
        private Features(Map<String, Object> extraParams) {
×
4621
          this.extraParams = extraParams;
×
4622
        }
×
4623

4624
        public static Builder builder() {
4625
          return new Builder();
×
4626
        }
4627

4628
        public static class Builder {
×
4629
          private Map<String, Object> extraParams;
4630

4631
          /** Finalize and obtain parameter instance from this builder. */
4632
          public AccountSessionCreateParams.Components.TaxSettings.Features build() {
4633
            return new AccountSessionCreateParams.Components.TaxSettings.Features(this.extraParams);
×
4634
          }
4635

4636
          /**
4637
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
4638
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4639
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4640
           * for the field documentation.
4641
           */
4642
          public Builder putExtraParam(String key, Object value) {
4643
            if (this.extraParams == null) {
×
4644
              this.extraParams = new HashMap<>();
×
4645
            }
4646
            this.extraParams.put(key, value);
×
4647
            return this;
×
4648
          }
4649

4650
          /**
4651
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4652
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4653
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4654
           * for the field documentation.
4655
           */
4656
          public Builder putAllExtraParam(Map<String, Object> map) {
4657
            if (this.extraParams == null) {
×
4658
              this.extraParams = new HashMap<>();
×
4659
            }
4660
            this.extraParams.putAll(map);
×
4661
            return this;
×
4662
          }
4663
        }
4664
      }
4665
    }
4666
  }
4667
}
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