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

stripe / stripe-java / #16398

05 Sep 2024 09:03PM UTC coverage: 12.874% (-0.003%) from 12.877%
#16398

push

github

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

Update generated code for beta

1 of 49 new or added lines in 6 files covered. (2.04%)

4 existing lines in 4 files now uncovered.

18461 of 143399 relevant lines covered (12.87%)

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 tax registrations embedded component. */
231
    @SerializedName("tax_registrations")
232
    TaxRegistrations taxRegistrations;
233

234
    /** Configuration for the tax settings embedded component. */
235
    @SerializedName("tax_settings")
236
    TaxSettings taxSettings;
237

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

289
    public static Builder builder() {
290
      return new Builder();
×
291
    }
292

293
    public static class Builder {
×
294
      private AccountManagement accountManagement;
295

296
      private AccountOnboarding accountOnboarding;
297

298
      private AppInstall appInstall;
299

300
      private AppViewport appViewport;
301

302
      private Balances balances;
303

304
      private CapitalFinancing capitalFinancing;
305

306
      private CapitalFinancingApplication capitalFinancingApplication;
307

308
      private CapitalFinancingPromotion capitalFinancingPromotion;
309

310
      private CapitalOverview capitalOverview;
311

312
      private Documents documents;
313

314
      private Map<String, Object> extraParams;
315

316
      private FinancialAccount financialAccount;
317

318
      private FinancialAccountTransactions financialAccountTransactions;
319

320
      private IssuingCard issuingCard;
321

322
      private IssuingCardsList issuingCardsList;
323

324
      private NotificationBanner notificationBanner;
325

326
      private PaymentDetails paymentDetails;
327

328
      private PaymentMethodSettings paymentMethodSettings;
329

330
      private Payments payments;
331

332
      private Payouts payouts;
333

334
      private PayoutsList payoutsList;
335

336
      private Recipients recipients;
337

338
      private TaxRegistrations taxRegistrations;
339

340
      private TaxSettings taxSettings;
341

342
      /** Finalize and obtain parameter instance from this builder. */
343
      public AccountSessionCreateParams.Components build() {
344
        return new AccountSessionCreateParams.Components(
×
345
            this.accountManagement,
346
            this.accountOnboarding,
347
            this.appInstall,
348
            this.appViewport,
349
            this.balances,
350
            this.capitalFinancing,
351
            this.capitalFinancingApplication,
352
            this.capitalFinancingPromotion,
353
            this.capitalOverview,
354
            this.documents,
355
            this.extraParams,
356
            this.financialAccount,
357
            this.financialAccountTransactions,
358
            this.issuingCard,
359
            this.issuingCardsList,
360
            this.notificationBanner,
361
            this.paymentDetails,
362
            this.paymentMethodSettings,
363
            this.payments,
364
            this.payouts,
365
            this.payoutsList,
366
            this.recipients,
367
            this.taxRegistrations,
368
            this.taxSettings);
369
      }
370

371
      /** Configuration for the account management embedded component. */
372
      public Builder setAccountManagement(
373
          AccountSessionCreateParams.Components.AccountManagement accountManagement) {
374
        this.accountManagement = accountManagement;
×
375
        return this;
×
376
      }
377

378
      /** Configuration for the account onboarding embedded component. */
379
      public Builder setAccountOnboarding(
380
          AccountSessionCreateParams.Components.AccountOnboarding accountOnboarding) {
381
        this.accountOnboarding = accountOnboarding;
×
382
        return this;
×
383
      }
384

385
      /** Configuration for the app install component. */
386
      public Builder setAppInstall(AccountSessionCreateParams.Components.AppInstall appInstall) {
387
        this.appInstall = appInstall;
×
388
        return this;
×
389
      }
390

391
      /** Configuration for the app viewport component. */
392
      public Builder setAppViewport(AccountSessionCreateParams.Components.AppViewport appViewport) {
393
        this.appViewport = appViewport;
×
394
        return this;
×
395
      }
396

397
      /** Configuration for the balances embedded component. */
398
      public Builder setBalances(AccountSessionCreateParams.Components.Balances balances) {
399
        this.balances = balances;
×
400
        return this;
×
401
      }
402

403
      /** Configuration for the capital financing embedded component. */
404
      public Builder setCapitalFinancing(
405
          AccountSessionCreateParams.Components.CapitalFinancing capitalFinancing) {
406
        this.capitalFinancing = capitalFinancing;
×
407
        return this;
×
408
      }
409

410
      /** Configuration for the capital financing application embedded component. */
411
      public Builder setCapitalFinancingApplication(
412
          AccountSessionCreateParams.Components.CapitalFinancingApplication
413
              capitalFinancingApplication) {
414
        this.capitalFinancingApplication = capitalFinancingApplication;
×
415
        return this;
×
416
      }
417

418
      /** Configuration for the capital financing promotion embedded component. */
419
      public Builder setCapitalFinancingPromotion(
420
          AccountSessionCreateParams.Components.CapitalFinancingPromotion
421
              capitalFinancingPromotion) {
422
        this.capitalFinancingPromotion = capitalFinancingPromotion;
×
423
        return this;
×
424
      }
425

426
      /** Configuration for the capital overview embedded component. */
427
      public Builder setCapitalOverview(
428
          AccountSessionCreateParams.Components.CapitalOverview capitalOverview) {
429
        this.capitalOverview = capitalOverview;
×
430
        return this;
×
431
      }
432

433
      /** Configuration for the documents embedded component. */
434
      public Builder setDocuments(AccountSessionCreateParams.Components.Documents documents) {
435
        this.documents = documents;
×
436
        return this;
×
437
      }
438

439
      /**
440
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
441
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
442
       * AccountSessionCreateParams.Components#extraParams} for the field documentation.
443
       */
444
      public Builder putExtraParam(String key, Object value) {
445
        if (this.extraParams == null) {
×
446
          this.extraParams = new HashMap<>();
×
447
        }
448
        this.extraParams.put(key, value);
×
449
        return this;
×
450
      }
451

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

465
      /** Configuration for the financial account component. */
466
      public Builder setFinancialAccount(
467
          AccountSessionCreateParams.Components.FinancialAccount financialAccount) {
468
        this.financialAccount = financialAccount;
×
469
        return this;
×
470
      }
471

472
      /** Configuration for the financial account transactions component. */
473
      public Builder setFinancialAccountTransactions(
474
          AccountSessionCreateParams.Components.FinancialAccountTransactions
475
              financialAccountTransactions) {
476
        this.financialAccountTransactions = financialAccountTransactions;
×
477
        return this;
×
478
      }
479

480
      /** Configuration for the issuing card component. */
481
      public Builder setIssuingCard(AccountSessionCreateParams.Components.IssuingCard issuingCard) {
482
        this.issuingCard = issuingCard;
×
483
        return this;
×
484
      }
485

486
      /** Configuration for the issuing cards list component. */
487
      public Builder setIssuingCardsList(
488
          AccountSessionCreateParams.Components.IssuingCardsList issuingCardsList) {
489
        this.issuingCardsList = issuingCardsList;
×
490
        return this;
×
491
      }
492

493
      /** Configuration for the notification banner embedded component. */
494
      public Builder setNotificationBanner(
495
          AccountSessionCreateParams.Components.NotificationBanner notificationBanner) {
496
        this.notificationBanner = notificationBanner;
×
497
        return this;
×
498
      }
499

500
      /** Configuration for the payment details embedded component. */
501
      public Builder setPaymentDetails(
502
          AccountSessionCreateParams.Components.PaymentDetails paymentDetails) {
503
        this.paymentDetails = paymentDetails;
×
504
        return this;
×
505
      }
506

507
      /** Configuration for the payment method settings embedded component. */
508
      public Builder setPaymentMethodSettings(
509
          AccountSessionCreateParams.Components.PaymentMethodSettings paymentMethodSettings) {
510
        this.paymentMethodSettings = paymentMethodSettings;
×
511
        return this;
×
512
      }
513

514
      /** Configuration for the payments embedded component. */
515
      public Builder setPayments(AccountSessionCreateParams.Components.Payments payments) {
516
        this.payments = payments;
×
517
        return this;
×
518
      }
519

520
      /** Configuration for the payouts embedded component. */
521
      public Builder setPayouts(AccountSessionCreateParams.Components.Payouts payouts) {
522
        this.payouts = payouts;
×
523
        return this;
×
524
      }
525

526
      /** Configuration for the payouts list embedded component. */
527
      public Builder setPayoutsList(AccountSessionCreateParams.Components.PayoutsList payoutsList) {
528
        this.payoutsList = payoutsList;
×
529
        return this;
×
530
      }
531

532
      public Builder setRecipients(AccountSessionCreateParams.Components.Recipients recipients) {
NEW
533
        this.recipients = recipients;
×
NEW
534
        return this;
×
535
      }
536

537
      /** Configuration for the tax registrations embedded component. */
538
      public Builder setTaxRegistrations(
539
          AccountSessionCreateParams.Components.TaxRegistrations taxRegistrations) {
540
        this.taxRegistrations = taxRegistrations;
×
541
        return this;
×
542
      }
543

544
      /** Configuration for the tax settings embedded component. */
545
      public Builder setTaxSettings(AccountSessionCreateParams.Components.TaxSettings taxSettings) {
546
        this.taxSettings = taxSettings;
×
547
        return this;
×
548
      }
549
    }
550

551
    @Getter
552
    public static class AccountManagement {
553
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
554
      @SerializedName("enabled")
555
      Boolean enabled;
556

557
      /**
558
       * Map of extra parameters for custom features not available in this client library. The
559
       * content in this map is not serialized under this field's {@code @SerializedName} value.
560
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
561
       * name in this param object. Effectively, this map is flattened to its parent instance.
562
       */
563
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
564
      Map<String, Object> extraParams;
565

566
      /** The list of features enabled in the embedded component. */
567
      @SerializedName("features")
568
      Features features;
569

570
      private AccountManagement(
571
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
572
        this.enabled = enabled;
×
573
        this.extraParams = extraParams;
×
574
        this.features = features;
×
575
      }
×
576

577
      public static Builder builder() {
578
        return new Builder();
×
579
      }
580

581
      public static class Builder {
×
582
        private Boolean enabled;
583

584
        private Map<String, Object> extraParams;
585

586
        private Features features;
587

588
        /** Finalize and obtain parameter instance from this builder. */
589
        public AccountSessionCreateParams.Components.AccountManagement build() {
590
          return new AccountSessionCreateParams.Components.AccountManagement(
×
591
              this.enabled, this.extraParams, this.features);
592
        }
593

594
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
595
        public Builder setEnabled(Boolean enabled) {
596
          this.enabled = enabled;
×
597
          return this;
×
598
        }
599

600
        /**
601
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
602
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
603
         * map. See {@link AccountSessionCreateParams.Components.AccountManagement#extraParams} for
604
         * the field documentation.
605
         */
606
        public Builder putExtraParam(String key, Object value) {
607
          if (this.extraParams == null) {
×
608
            this.extraParams = new HashMap<>();
×
609
          }
610
          this.extraParams.put(key, value);
×
611
          return this;
×
612
        }
613

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

628
        /** The list of features enabled in the embedded component. */
629
        public Builder setFeatures(
630
            AccountSessionCreateParams.Components.AccountManagement.Features features) {
631
          this.features = features;
×
632
          return this;
×
633
        }
634
      }
635

636
      @Getter
637
      public static class Features {
638
        /**
639
         * Whether to allow platforms to control bank account collection for their connected
640
         * accounts. This feature can only be false for custom accounts (or accounts where the
641
         * platform is compliance owner). Otherwise, bank account collection is determined by
642
         * compliance requirements.
643
         */
644
        @SerializedName("external_account_collection")
645
        Boolean externalAccountCollection;
646

647
        /**
648
         * Map of extra parameters for custom features not available in this client library. The
649
         * content in this map is not serialized under this field's {@code @SerializedName} value.
650
         * Instead, each key/value pair is serialized as if the key is a root-level field
651
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
652
         * instance.
653
         */
654
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
655
        Map<String, Object> extraParams;
656

657
        private Features(Boolean externalAccountCollection, Map<String, Object> extraParams) {
×
658
          this.externalAccountCollection = externalAccountCollection;
×
659
          this.extraParams = extraParams;
×
660
        }
×
661

662
        public static Builder builder() {
663
          return new Builder();
×
664
        }
665

666
        public static class Builder {
×
667
          private Boolean externalAccountCollection;
668

669
          private Map<String, Object> extraParams;
670

671
          /** Finalize and obtain parameter instance from this builder. */
672
          public AccountSessionCreateParams.Components.AccountManagement.Features build() {
673
            return new AccountSessionCreateParams.Components.AccountManagement.Features(
×
674
                this.externalAccountCollection, this.extraParams);
675
          }
676

677
          /**
678
           * Whether to allow platforms to control bank account collection for their connected
679
           * accounts. This feature can only be false for custom accounts (or accounts where the
680
           * platform is compliance owner). Otherwise, bank account collection is determined by
681
           * compliance requirements.
682
           */
683
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
684
            this.externalAccountCollection = externalAccountCollection;
×
685
            return this;
×
686
          }
687

688
          /**
689
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
690
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
691
           * map. See {@link
692
           * AccountSessionCreateParams.Components.AccountManagement.Features#extraParams} for the
693
           * field documentation.
694
           */
695
          public Builder putExtraParam(String key, Object value) {
696
            if (this.extraParams == null) {
×
697
              this.extraParams = new HashMap<>();
×
698
            }
699
            this.extraParams.put(key, value);
×
700
            return this;
×
701
          }
702

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

721
    @Getter
722
    public static class AccountOnboarding {
723
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
724
      @SerializedName("enabled")
725
      Boolean enabled;
726

727
      /**
728
       * Map of extra parameters for custom features not available in this client library. The
729
       * content in this map is not serialized under this field's {@code @SerializedName} value.
730
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
731
       * name in this param object. Effectively, this map is flattened to its parent instance.
732
       */
733
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
734
      Map<String, Object> extraParams;
735

736
      /** The list of features enabled in the embedded component. */
737
      @SerializedName("features")
738
      Features features;
739

740
      private AccountOnboarding(
741
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
742
        this.enabled = enabled;
×
743
        this.extraParams = extraParams;
×
744
        this.features = features;
×
745
      }
×
746

747
      public static Builder builder() {
748
        return new Builder();
×
749
      }
750

751
      public static class Builder {
×
752
        private Boolean enabled;
753

754
        private Map<String, Object> extraParams;
755

756
        private Features features;
757

758
        /** Finalize and obtain parameter instance from this builder. */
759
        public AccountSessionCreateParams.Components.AccountOnboarding build() {
760
          return new AccountSessionCreateParams.Components.AccountOnboarding(
×
761
              this.enabled, this.extraParams, this.features);
762
        }
763

764
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
765
        public Builder setEnabled(Boolean enabled) {
766
          this.enabled = enabled;
×
767
          return this;
×
768
        }
769

770
        /**
771
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
772
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
773
         * map. See {@link AccountSessionCreateParams.Components.AccountOnboarding#extraParams} for
774
         * the field documentation.
775
         */
776
        public Builder putExtraParam(String key, Object value) {
777
          if (this.extraParams == null) {
×
778
            this.extraParams = new HashMap<>();
×
779
          }
780
          this.extraParams.put(key, value);
×
781
          return this;
×
782
        }
783

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

798
        /** The list of features enabled in the embedded component. */
799
        public Builder setFeatures(
800
            AccountSessionCreateParams.Components.AccountOnboarding.Features features) {
801
          this.features = features;
×
802
          return this;
×
803
        }
804
      }
805

806
      @Getter
807
      public static class Features {
808
        /**
809
         * Whether to allow platforms to control bank account collection for their connected
810
         * accounts. This feature can only be false for custom accounts (or accounts where the
811
         * platform is compliance owner). Otherwise, bank account collection is determined by
812
         * compliance requirements.
813
         */
814
        @SerializedName("external_account_collection")
815
        Boolean externalAccountCollection;
816

817
        /**
818
         * Map of extra parameters for custom features not available in this client library. The
819
         * content in this map is not serialized under this field's {@code @SerializedName} value.
820
         * Instead, each key/value pair is serialized as if the key is a root-level field
821
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
822
         * instance.
823
         */
824
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
825
        Map<String, Object> extraParams;
826

827
        private Features(Boolean externalAccountCollection, Map<String, Object> extraParams) {
×
828
          this.externalAccountCollection = externalAccountCollection;
×
829
          this.extraParams = extraParams;
×
830
        }
×
831

832
        public static Builder builder() {
833
          return new Builder();
×
834
        }
835

836
        public static class Builder {
×
837
          private Boolean externalAccountCollection;
838

839
          private Map<String, Object> extraParams;
840

841
          /** Finalize and obtain parameter instance from this builder. */
842
          public AccountSessionCreateParams.Components.AccountOnboarding.Features build() {
843
            return new AccountSessionCreateParams.Components.AccountOnboarding.Features(
×
844
                this.externalAccountCollection, this.extraParams);
845
          }
846

847
          /**
848
           * Whether to allow platforms to control bank account collection for their connected
849
           * accounts. This feature can only be false for custom accounts (or accounts where the
850
           * platform is compliance owner). Otherwise, bank account collection is determined by
851
           * compliance requirements.
852
           */
853
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
854
            this.externalAccountCollection = externalAccountCollection;
×
855
            return this;
×
856
          }
857

858
          /**
859
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
860
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
861
           * map. See {@link
862
           * AccountSessionCreateParams.Components.AccountOnboarding.Features#extraParams} for the
863
           * field documentation.
864
           */
865
          public Builder putExtraParam(String key, Object value) {
866
            if (this.extraParams == null) {
×
867
              this.extraParams = new HashMap<>();
×
868
            }
869
            this.extraParams.put(key, value);
×
870
            return this;
×
871
          }
872

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

891
    @Getter
892
    public static class AppInstall {
893
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
894
      @SerializedName("enabled")
895
      Boolean enabled;
896

897
      /**
898
       * Map of extra parameters for custom features not available in this client library. The
899
       * content in this map is not serialized under this field's {@code @SerializedName} value.
900
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
901
       * name in this param object. Effectively, this map is flattened to its parent instance.
902
       */
903
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
904
      Map<String, Object> extraParams;
905

906
      /** The list of features enabled in the embedded component. */
907
      @SerializedName("features")
908
      Features features;
909

910
      private AppInstall(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
911
        this.enabled = enabled;
×
912
        this.extraParams = extraParams;
×
913
        this.features = features;
×
914
      }
×
915

916
      public static Builder builder() {
917
        return new Builder();
×
918
      }
919

920
      public static class Builder {
×
921
        private Boolean enabled;
922

923
        private Map<String, Object> extraParams;
924

925
        private Features features;
926

927
        /** Finalize and obtain parameter instance from this builder. */
928
        public AccountSessionCreateParams.Components.AppInstall build() {
929
          return new AccountSessionCreateParams.Components.AppInstall(
×
930
              this.enabled, this.extraParams, this.features);
931
        }
932

933
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
934
        public Builder setEnabled(Boolean enabled) {
935
          this.enabled = enabled;
×
936
          return this;
×
937
        }
938

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

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

967
        /** The list of features enabled in the embedded component. */
968
        public Builder setFeatures(
969
            AccountSessionCreateParams.Components.AppInstall.Features features) {
970
          this.features = features;
×
971
          return this;
×
972
        }
973
      }
974

975
      @Getter
976
      public static class Features {
977
        /** List of apps allowed to be enabled for this account session. */
978
        @SerializedName("allowed_apps")
979
        Object allowedApps;
980

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

991
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
992
          this.allowedApps = allowedApps;
×
993
          this.extraParams = extraParams;
×
994
        }
×
995

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

1000
        public static class Builder {
×
1001
          private Object allowedApps;
1002

1003
          private Map<String, Object> extraParams;
1004

1005
          /** Finalize and obtain parameter instance from this builder. */
1006
          public AccountSessionCreateParams.Components.AppInstall.Features build() {
1007
            return new AccountSessionCreateParams.Components.AppInstall.Features(
×
1008
                this.allowedApps, this.extraParams);
1009
          }
1010

1011
          /**
1012
           * Add an element to `allowedApps` list. A list is initialized for the first `add/addAll`
1013
           * call, and subsequent calls adds additional elements to the original list. See {@link
1014
           * AccountSessionCreateParams.Components.AppInstall.Features#allowedApps} for the field
1015
           * documentation.
1016
           */
1017
          @SuppressWarnings("unchecked")
1018
          public Builder addAllowedApp(String element) {
1019
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1020
              this.allowedApps = new ArrayList<String>();
×
1021
            }
1022
            ((List<String>) this.allowedApps).add(element);
×
1023
            return this;
×
1024
          }
1025

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

1041
          /** List of apps allowed to be enabled for this account session. */
1042
          public Builder setAllowedApps(EmptyParam allowedApps) {
1043
            this.allowedApps = allowedApps;
×
1044
            return this;
×
1045
          }
1046

1047
          /** List of apps allowed to be enabled for this account session. */
1048
          public Builder setAllowedApps(List<String> allowedApps) {
1049
            this.allowedApps = allowedApps;
×
1050
            return this;
×
1051
          }
1052

1053
          /**
1054
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1055
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1056
           * map. See {@link AccountSessionCreateParams.Components.AppInstall.Features#extraParams}
1057
           * for the field documentation.
1058
           */
1059
          public Builder putExtraParam(String key, Object value) {
1060
            if (this.extraParams == null) {
×
1061
              this.extraParams = new HashMap<>();
×
1062
            }
1063
            this.extraParams.put(key, value);
×
1064
            return this;
×
1065
          }
1066

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

1084
    @Getter
1085
    public static class AppViewport {
1086
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1087
      @SerializedName("enabled")
1088
      Boolean enabled;
1089

1090
      /**
1091
       * Map of extra parameters for custom features not available in this client library. The
1092
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1093
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1094
       * name in this param object. Effectively, this map is flattened to its parent instance.
1095
       */
1096
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1097
      Map<String, Object> extraParams;
1098

1099
      /** The list of features enabled in the embedded component. */
1100
      @SerializedName("features")
1101
      Features features;
1102

1103
      private AppViewport(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1104
        this.enabled = enabled;
×
1105
        this.extraParams = extraParams;
×
1106
        this.features = features;
×
1107
      }
×
1108

1109
      public static Builder builder() {
1110
        return new Builder();
×
1111
      }
1112

1113
      public static class Builder {
×
1114
        private Boolean enabled;
1115

1116
        private Map<String, Object> extraParams;
1117

1118
        private Features features;
1119

1120
        /** Finalize and obtain parameter instance from this builder. */
1121
        public AccountSessionCreateParams.Components.AppViewport build() {
1122
          return new AccountSessionCreateParams.Components.AppViewport(
×
1123
              this.enabled, this.extraParams, this.features);
1124
        }
1125

1126
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1127
        public Builder setEnabled(Boolean enabled) {
1128
          this.enabled = enabled;
×
1129
          return this;
×
1130
        }
1131

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

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

1160
        /** The list of features enabled in the embedded component. */
1161
        public Builder setFeatures(
1162
            AccountSessionCreateParams.Components.AppViewport.Features features) {
1163
          this.features = features;
×
1164
          return this;
×
1165
        }
1166
      }
1167

1168
      @Getter
1169
      public static class Features {
1170
        /** List of apps allowed to be enabled for this account session. */
1171
        @SerializedName("allowed_apps")
1172
        Object allowedApps;
1173

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

1184
        private Features(Object allowedApps, Map<String, Object> extraParams) {
×
1185
          this.allowedApps = allowedApps;
×
1186
          this.extraParams = extraParams;
×
1187
        }
×
1188

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

1193
        public static class Builder {
×
1194
          private Object allowedApps;
1195

1196
          private Map<String, Object> extraParams;
1197

1198
          /** Finalize and obtain parameter instance from this builder. */
1199
          public AccountSessionCreateParams.Components.AppViewport.Features build() {
1200
            return new AccountSessionCreateParams.Components.AppViewport.Features(
×
1201
                this.allowedApps, this.extraParams);
1202
          }
1203

1204
          /**
1205
           * Add an element to `allowedApps` list. A list is initialized for the first `add/addAll`
1206
           * call, and subsequent calls adds additional elements to the original list. See {@link
1207
           * AccountSessionCreateParams.Components.AppViewport.Features#allowedApps} for the field
1208
           * documentation.
1209
           */
1210
          @SuppressWarnings("unchecked")
1211
          public Builder addAllowedApp(String element) {
1212
            if (this.allowedApps == null || this.allowedApps instanceof EmptyParam) {
×
1213
              this.allowedApps = new ArrayList<String>();
×
1214
            }
1215
            ((List<String>) this.allowedApps).add(element);
×
1216
            return this;
×
1217
          }
1218

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

1234
          /** List of apps allowed to be enabled for this account session. */
1235
          public Builder setAllowedApps(EmptyParam allowedApps) {
1236
            this.allowedApps = allowedApps;
×
1237
            return this;
×
1238
          }
1239

1240
          /** List of apps allowed to be enabled for this account session. */
1241
          public Builder setAllowedApps(List<String> allowedApps) {
1242
            this.allowedApps = allowedApps;
×
1243
            return this;
×
1244
          }
1245

1246
          /**
1247
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1248
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1249
           * map. See {@link AccountSessionCreateParams.Components.AppViewport.Features#extraParams}
1250
           * for the field documentation.
1251
           */
1252
          public Builder putExtraParam(String key, Object value) {
1253
            if (this.extraParams == null) {
×
1254
              this.extraParams = new HashMap<>();
×
1255
            }
1256
            this.extraParams.put(key, value);
×
1257
            return this;
×
1258
          }
1259

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

1277
    @Getter
1278
    public static class Balances {
1279
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1280
      @SerializedName("enabled")
1281
      Boolean enabled;
1282

1283
      /**
1284
       * Map of extra parameters for custom features not available in this client library. The
1285
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1286
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1287
       * name in this param object. Effectively, this map is flattened to its parent instance.
1288
       */
1289
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1290
      Map<String, Object> extraParams;
1291

1292
      /** The list of features enabled in the embedded component. */
1293
      @SerializedName("features")
1294
      Features features;
1295

1296
      private Balances(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1297
        this.enabled = enabled;
×
1298
        this.extraParams = extraParams;
×
1299
        this.features = features;
×
1300
      }
×
1301

1302
      public static Builder builder() {
1303
        return new Builder();
×
1304
      }
1305

1306
      public static class Builder {
×
1307
        private Boolean enabled;
1308

1309
        private Map<String, Object> extraParams;
1310

1311
        private Features features;
1312

1313
        /** Finalize and obtain parameter instance from this builder. */
1314
        public AccountSessionCreateParams.Components.Balances build() {
1315
          return new AccountSessionCreateParams.Components.Balances(
×
1316
              this.enabled, this.extraParams, this.features);
1317
        }
1318

1319
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1320
        public Builder setEnabled(Boolean enabled) {
1321
          this.enabled = enabled;
×
1322
          return this;
×
1323
        }
1324

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

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

1353
        /** The list of features enabled in the embedded component. */
1354
        public Builder setFeatures(
1355
            AccountSessionCreateParams.Components.Balances.Features features) {
1356
          this.features = features;
×
1357
          return this;
×
1358
        }
1359
      }
1360

1361
      @Getter
1362
      public static class Features {
1363
        /**
1364
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
1365
         * Loss Liability, default {@code false} otherwise.
1366
         */
1367
        @SerializedName("edit_payout_schedule")
1368
        Boolean editPayoutSchedule;
1369

1370
        /**
1371
         * Whether to allow platforms to control bank account collection for their connected
1372
         * accounts. This feature can only be false for custom accounts (or accounts where the
1373
         * platform is compliance owner). Otherwise, bank account collection is determined by
1374
         * compliance requirements.
1375
         */
1376
        @SerializedName("external_account_collection")
1377
        Boolean externalAccountCollection;
1378

1379
        /**
1380
         * Map of extra parameters for custom features not available in this client library. The
1381
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1382
         * Instead, each key/value pair is serialized as if the key is a root-level field
1383
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1384
         * instance.
1385
         */
1386
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1387
        Map<String, Object> extraParams;
1388

1389
        /**
1390
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
1391
         * Liability, default {@code false} otherwise.
1392
         */
1393
        @SerializedName("instant_payouts")
1394
        Boolean instantPayouts;
1395

1396
        /**
1397
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
1398
         * Liability, default {@code false} otherwise.
1399
         */
1400
        @SerializedName("standard_payouts")
1401
        Boolean standardPayouts;
1402

1403
        private Features(
1404
            Boolean editPayoutSchedule,
1405
            Boolean externalAccountCollection,
1406
            Map<String, Object> extraParams,
1407
            Boolean instantPayouts,
1408
            Boolean standardPayouts) {
×
1409
          this.editPayoutSchedule = editPayoutSchedule;
×
1410
          this.externalAccountCollection = externalAccountCollection;
×
1411
          this.extraParams = extraParams;
×
1412
          this.instantPayouts = instantPayouts;
×
1413
          this.standardPayouts = standardPayouts;
×
1414
        }
×
1415

1416
        public static Builder builder() {
1417
          return new Builder();
×
1418
        }
1419

1420
        public static class Builder {
×
1421
          private Boolean editPayoutSchedule;
1422

1423
          private Boolean externalAccountCollection;
1424

1425
          private Map<String, Object> extraParams;
1426

1427
          private Boolean instantPayouts;
1428

1429
          private Boolean standardPayouts;
1430

1431
          /** Finalize and obtain parameter instance from this builder. */
1432
          public AccountSessionCreateParams.Components.Balances.Features build() {
1433
            return new AccountSessionCreateParams.Components.Balances.Features(
×
1434
                this.editPayoutSchedule,
1435
                this.externalAccountCollection,
1436
                this.extraParams,
1437
                this.instantPayouts,
1438
                this.standardPayouts);
1439
          }
1440

1441
          /**
1442
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
1443
           * Loss Liability, default {@code false} otherwise.
1444
           */
1445
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
1446
            this.editPayoutSchedule = editPayoutSchedule;
×
1447
            return this;
×
1448
          }
1449

1450
          /**
1451
           * Whether to allow platforms to control bank account collection for their connected
1452
           * accounts. This feature can only be false for custom accounts (or accounts where the
1453
           * platform is compliance owner). Otherwise, bank account collection is determined by
1454
           * compliance requirements.
1455
           */
1456
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
1457
            this.externalAccountCollection = externalAccountCollection;
×
1458
            return this;
×
1459
          }
1460

1461
          /**
1462
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1463
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1464
           * map. See {@link AccountSessionCreateParams.Components.Balances.Features#extraParams}
1465
           * for the field documentation.
1466
           */
1467
          public Builder putExtraParam(String key, Object value) {
1468
            if (this.extraParams == null) {
×
1469
              this.extraParams = new HashMap<>();
×
1470
            }
1471
            this.extraParams.put(key, value);
×
1472
            return this;
×
1473
          }
1474

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

1489
          /**
1490
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
1491
           * Loss Liability, default {@code false} otherwise.
1492
           */
1493
          public Builder setInstantPayouts(Boolean instantPayouts) {
1494
            this.instantPayouts = instantPayouts;
×
1495
            return this;
×
1496
          }
1497

1498
          /**
1499
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
1500
           * Loss Liability, default {@code false} otherwise.
1501
           */
1502
          public Builder setStandardPayouts(Boolean standardPayouts) {
1503
            this.standardPayouts = standardPayouts;
×
1504
            return this;
×
1505
          }
1506
        }
1507
      }
1508
    }
1509

1510
    @Getter
1511
    public static class CapitalFinancing {
1512
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1513
      @SerializedName("enabled")
1514
      Boolean enabled;
1515

1516
      /**
1517
       * Map of extra parameters for custom features not available in this client library. The
1518
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1519
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1520
       * name in this param object. Effectively, this map is flattened to its parent instance.
1521
       */
1522
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1523
      Map<String, Object> extraParams;
1524

1525
      /** The list of features enabled in the embedded component. */
1526
      @SerializedName("features")
1527
      Features features;
1528

1529
      private CapitalFinancing(
1530
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1531
        this.enabled = enabled;
×
1532
        this.extraParams = extraParams;
×
1533
        this.features = features;
×
1534
      }
×
1535

1536
      public static Builder builder() {
1537
        return new Builder();
×
1538
      }
1539

1540
      public static class Builder {
×
1541
        private Boolean enabled;
1542

1543
        private Map<String, Object> extraParams;
1544

1545
        private Features features;
1546

1547
        /** Finalize and obtain parameter instance from this builder. */
1548
        public AccountSessionCreateParams.Components.CapitalFinancing build() {
1549
          return new AccountSessionCreateParams.Components.CapitalFinancing(
×
1550
              this.enabled, this.extraParams, this.features);
1551
        }
1552

1553
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1554
        public Builder setEnabled(Boolean enabled) {
1555
          this.enabled = enabled;
×
1556
          return this;
×
1557
        }
1558

1559
        /**
1560
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1561
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1562
         * map. See {@link AccountSessionCreateParams.Components.CapitalFinancing#extraParams} for
1563
         * the field documentation.
1564
         */
1565
        public Builder putExtraParam(String key, Object value) {
1566
          if (this.extraParams == null) {
×
1567
            this.extraParams = new HashMap<>();
×
1568
          }
1569
          this.extraParams.put(key, value);
×
1570
          return this;
×
1571
        }
1572

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

1587
        /** The list of features enabled in the embedded component. */
1588
        public Builder setFeatures(
1589
            AccountSessionCreateParams.Components.CapitalFinancing.Features features) {
1590
          this.features = features;
×
1591
          return this;
×
1592
        }
1593
      }
1594

1595
      @Getter
1596
      public static class Features {
1597
        /**
1598
         * Map of extra parameters for custom features not available in this client library. The
1599
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1600
         * Instead, each key/value pair is serialized as if the key is a root-level field
1601
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1602
         * instance.
1603
         */
1604
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1605
        Map<String, Object> extraParams;
1606

1607
        private Features(Map<String, Object> extraParams) {
×
1608
          this.extraParams = extraParams;
×
1609
        }
×
1610

1611
        public static Builder builder() {
1612
          return new Builder();
×
1613
        }
1614

1615
        public static class Builder {
×
1616
          private Map<String, Object> extraParams;
1617

1618
          /** Finalize and obtain parameter instance from this builder. */
1619
          public AccountSessionCreateParams.Components.CapitalFinancing.Features build() {
1620
            return new AccountSessionCreateParams.Components.CapitalFinancing.Features(
×
1621
                this.extraParams);
1622
          }
1623

1624
          /**
1625
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1626
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1627
           * map. See {@link
1628
           * AccountSessionCreateParams.Components.CapitalFinancing.Features#extraParams} for the
1629
           * field documentation.
1630
           */
1631
          public Builder putExtraParam(String key, Object value) {
1632
            if (this.extraParams == null) {
×
1633
              this.extraParams = new HashMap<>();
×
1634
            }
1635
            this.extraParams.put(key, value);
×
1636
            return this;
×
1637
          }
1638

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

1657
    @Getter
1658
    public static class CapitalFinancingApplication {
1659
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1660
      @SerializedName("enabled")
1661
      Boolean enabled;
1662

1663
      /**
1664
       * Map of extra parameters for custom features not available in this client library. The
1665
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1666
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1667
       * name in this param object. Effectively, this map is flattened to its parent instance.
1668
       */
1669
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1670
      Map<String, Object> extraParams;
1671

1672
      /** The list of features enabled in the embedded component. */
1673
      @SerializedName("features")
1674
      Features features;
1675

1676
      private CapitalFinancingApplication(
1677
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1678
        this.enabled = enabled;
×
1679
        this.extraParams = extraParams;
×
1680
        this.features = features;
×
1681
      }
×
1682

1683
      public static Builder builder() {
1684
        return new Builder();
×
1685
      }
1686

1687
      public static class Builder {
×
1688
        private Boolean enabled;
1689

1690
        private Map<String, Object> extraParams;
1691

1692
        private Features features;
1693

1694
        /** Finalize and obtain parameter instance from this builder. */
1695
        public AccountSessionCreateParams.Components.CapitalFinancingApplication build() {
1696
          return new AccountSessionCreateParams.Components.CapitalFinancingApplication(
×
1697
              this.enabled, this.extraParams, this.features);
1698
        }
1699

1700
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1701
        public Builder setEnabled(Boolean enabled) {
1702
          this.enabled = enabled;
×
1703
          return this;
×
1704
        }
1705

1706
        /**
1707
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1708
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1709
         * map. See {@link
1710
         * AccountSessionCreateParams.Components.CapitalFinancingApplication#extraParams} for the
1711
         * field documentation.
1712
         */
1713
        public Builder putExtraParam(String key, Object value) {
1714
          if (this.extraParams == null) {
×
1715
            this.extraParams = new HashMap<>();
×
1716
          }
1717
          this.extraParams.put(key, value);
×
1718
          return this;
×
1719
        }
1720

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

1736
        /** The list of features enabled in the embedded component. */
1737
        public Builder setFeatures(
1738
            AccountSessionCreateParams.Components.CapitalFinancingApplication.Features features) {
1739
          this.features = features;
×
1740
          return this;
×
1741
        }
1742
      }
1743

1744
      @Getter
1745
      public static class Features {
1746
        /**
1747
         * Map of extra parameters for custom features not available in this client library. The
1748
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1749
         * Instead, each key/value pair is serialized as if the key is a root-level field
1750
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1751
         * instance.
1752
         */
1753
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1754
        Map<String, Object> extraParams;
1755

1756
        private Features(Map<String, Object> extraParams) {
×
1757
          this.extraParams = extraParams;
×
1758
        }
×
1759

1760
        public static Builder builder() {
1761
          return new Builder();
×
1762
        }
1763

1764
        public static class Builder {
×
1765
          private Map<String, Object> extraParams;
1766

1767
          /** Finalize and obtain parameter instance from this builder. */
1768
          public AccountSessionCreateParams.Components.CapitalFinancingApplication.Features
1769
              build() {
1770
            return new AccountSessionCreateParams.Components.CapitalFinancingApplication.Features(
×
1771
                this.extraParams);
1772
          }
1773

1774
          /**
1775
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1776
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1777
           * map. See {@link
1778
           * AccountSessionCreateParams.Components.CapitalFinancingApplication.Features#extraParams}
1779
           * for the field documentation.
1780
           */
1781
          public Builder putExtraParam(String key, Object value) {
1782
            if (this.extraParams == null) {
×
1783
              this.extraParams = new HashMap<>();
×
1784
            }
1785
            this.extraParams.put(key, value);
×
1786
            return this;
×
1787
          }
1788

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

1807
    @Getter
1808
    public static class CapitalFinancingPromotion {
1809
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1810
      @SerializedName("enabled")
1811
      Boolean enabled;
1812

1813
      /**
1814
       * Map of extra parameters for custom features not available in this client library. The
1815
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1816
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1817
       * name in this param object. Effectively, this map is flattened to its parent instance.
1818
       */
1819
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1820
      Map<String, Object> extraParams;
1821

1822
      /** The list of features enabled in the embedded component. */
1823
      @SerializedName("features")
1824
      Features features;
1825

1826
      private CapitalFinancingPromotion(
1827
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1828
        this.enabled = enabled;
×
1829
        this.extraParams = extraParams;
×
1830
        this.features = features;
×
1831
      }
×
1832

1833
      public static Builder builder() {
1834
        return new Builder();
×
1835
      }
1836

1837
      public static class Builder {
×
1838
        private Boolean enabled;
1839

1840
        private Map<String, Object> extraParams;
1841

1842
        private Features features;
1843

1844
        /** Finalize and obtain parameter instance from this builder. */
1845
        public AccountSessionCreateParams.Components.CapitalFinancingPromotion build() {
1846
          return new AccountSessionCreateParams.Components.CapitalFinancingPromotion(
×
1847
              this.enabled, this.extraParams, this.features);
1848
        }
1849

1850
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1851
        public Builder setEnabled(Boolean enabled) {
1852
          this.enabled = enabled;
×
1853
          return this;
×
1854
        }
1855

1856
        /**
1857
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1858
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1859
         * map. See {@link
1860
         * AccountSessionCreateParams.Components.CapitalFinancingPromotion#extraParams} for the
1861
         * field documentation.
1862
         */
1863
        public Builder putExtraParam(String key, Object value) {
1864
          if (this.extraParams == null) {
×
1865
            this.extraParams = new HashMap<>();
×
1866
          }
1867
          this.extraParams.put(key, value);
×
1868
          return this;
×
1869
        }
1870

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

1886
        /** The list of features enabled in the embedded component. */
1887
        public Builder setFeatures(
1888
            AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features features) {
1889
          this.features = features;
×
1890
          return this;
×
1891
        }
1892
      }
1893

1894
      @Getter
1895
      public static class Features {
1896
        /**
1897
         * Map of extra parameters for custom features not available in this client library. The
1898
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1899
         * Instead, each key/value pair is serialized as if the key is a root-level field
1900
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1901
         * instance.
1902
         */
1903
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1904
        Map<String, Object> extraParams;
1905

1906
        private Features(Map<String, Object> extraParams) {
×
1907
          this.extraParams = extraParams;
×
1908
        }
×
1909

1910
        public static Builder builder() {
1911
          return new Builder();
×
1912
        }
1913

1914
        public static class Builder {
×
1915
          private Map<String, Object> extraParams;
1916

1917
          /** Finalize and obtain parameter instance from this builder. */
1918
          public AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features build() {
1919
            return new AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features(
×
1920
                this.extraParams);
1921
          }
1922

1923
          /**
1924
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1925
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1926
           * map. See {@link
1927
           * AccountSessionCreateParams.Components.CapitalFinancingPromotion.Features#extraParams}
1928
           * for the field documentation.
1929
           */
1930
          public Builder putExtraParam(String key, Object value) {
1931
            if (this.extraParams == null) {
×
1932
              this.extraParams = new HashMap<>();
×
1933
            }
1934
            this.extraParams.put(key, value);
×
1935
            return this;
×
1936
          }
1937

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

1956
    @Getter
1957
    public static class CapitalOverview {
1958
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
1959
      @SerializedName("enabled")
1960
      Boolean enabled;
1961

1962
      /**
1963
       * Map of extra parameters for custom features not available in this client library. The
1964
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1965
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1966
       * name in this param object. Effectively, this map is flattened to its parent instance.
1967
       */
1968
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1969
      Map<String, Object> extraParams;
1970

1971
      /** The list of features enabled in the embedded component. */
1972
      @SerializedName("features")
1973
      Features features;
1974

1975
      private CapitalOverview(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
1976
        this.enabled = enabled;
×
1977
        this.extraParams = extraParams;
×
1978
        this.features = features;
×
1979
      }
×
1980

1981
      public static Builder builder() {
1982
        return new Builder();
×
1983
      }
1984

1985
      public static class Builder {
×
1986
        private Boolean enabled;
1987

1988
        private Map<String, Object> extraParams;
1989

1990
        private Features features;
1991

1992
        /** Finalize and obtain parameter instance from this builder. */
1993
        public AccountSessionCreateParams.Components.CapitalOverview build() {
1994
          return new AccountSessionCreateParams.Components.CapitalOverview(
×
1995
              this.enabled, this.extraParams, this.features);
1996
        }
1997

1998
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
1999
        public Builder setEnabled(Boolean enabled) {
2000
          this.enabled = enabled;
×
2001
          return this;
×
2002
        }
2003

2004
        /**
2005
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2006
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2007
         * map. See {@link AccountSessionCreateParams.Components.CapitalOverview#extraParams} for
2008
         * the field documentation.
2009
         */
2010
        public Builder putExtraParam(String key, Object value) {
2011
          if (this.extraParams == null) {
×
2012
            this.extraParams = new HashMap<>();
×
2013
          }
2014
          this.extraParams.put(key, value);
×
2015
          return this;
×
2016
        }
2017

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

2032
        /** The list of features enabled in the embedded component. */
2033
        public Builder setFeatures(
2034
            AccountSessionCreateParams.Components.CapitalOverview.Features features) {
2035
          this.features = features;
×
2036
          return this;
×
2037
        }
2038
      }
2039

2040
      @Getter
2041
      public static class Features {
2042
        /**
2043
         * Map of extra parameters for custom features not available in this client library. The
2044
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2045
         * Instead, each key/value pair is serialized as if the key is a root-level field
2046
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2047
         * instance.
2048
         */
2049
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2050
        Map<String, Object> extraParams;
2051

2052
        private Features(Map<String, Object> extraParams) {
×
2053
          this.extraParams = extraParams;
×
2054
        }
×
2055

2056
        public static Builder builder() {
2057
          return new Builder();
×
2058
        }
2059

2060
        public static class Builder {
×
2061
          private Map<String, Object> extraParams;
2062

2063
          /** Finalize and obtain parameter instance from this builder. */
2064
          public AccountSessionCreateParams.Components.CapitalOverview.Features build() {
2065
            return new AccountSessionCreateParams.Components.CapitalOverview.Features(
×
2066
                this.extraParams);
2067
          }
2068

2069
          /**
2070
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2071
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2072
           * map. See {@link
2073
           * AccountSessionCreateParams.Components.CapitalOverview.Features#extraParams} for the
2074
           * field documentation.
2075
           */
2076
          public Builder putExtraParam(String key, Object value) {
2077
            if (this.extraParams == null) {
×
2078
              this.extraParams = new HashMap<>();
×
2079
            }
2080
            this.extraParams.put(key, value);
×
2081
            return this;
×
2082
          }
2083

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

2102
    @Getter
2103
    public static class Documents {
2104
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2105
      @SerializedName("enabled")
2106
      Boolean enabled;
2107

2108
      /**
2109
       * Map of extra parameters for custom features not available in this client library. The
2110
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2111
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2112
       * name in this param object. Effectively, this map is flattened to its parent instance.
2113
       */
2114
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2115
      Map<String, Object> extraParams;
2116

2117
      /** The list of features enabled in the embedded component. */
2118
      @SerializedName("features")
2119
      Features features;
2120

2121
      private Documents(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2122
        this.enabled = enabled;
×
2123
        this.extraParams = extraParams;
×
2124
        this.features = features;
×
2125
      }
×
2126

2127
      public static Builder builder() {
2128
        return new Builder();
×
2129
      }
2130

2131
      public static class Builder {
×
2132
        private Boolean enabled;
2133

2134
        private Map<String, Object> extraParams;
2135

2136
        private Features features;
2137

2138
        /** Finalize and obtain parameter instance from this builder. */
2139
        public AccountSessionCreateParams.Components.Documents build() {
2140
          return new AccountSessionCreateParams.Components.Documents(
×
2141
              this.enabled, this.extraParams, this.features);
2142
        }
2143

2144
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2145
        public Builder setEnabled(Boolean enabled) {
2146
          this.enabled = enabled;
×
2147
          return this;
×
2148
        }
2149

2150
        /**
2151
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2152
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2153
         * map. See {@link AccountSessionCreateParams.Components.Documents#extraParams} for the
2154
         * field documentation.
2155
         */
2156
        public Builder putExtraParam(String key, Object value) {
2157
          if (this.extraParams == null) {
×
2158
            this.extraParams = new HashMap<>();
×
2159
          }
2160
          this.extraParams.put(key, value);
×
2161
          return this;
×
2162
        }
2163

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

2178
        /** The list of features enabled in the embedded component. */
2179
        public Builder setFeatures(
2180
            AccountSessionCreateParams.Components.Documents.Features features) {
2181
          this.features = features;
×
2182
          return this;
×
2183
        }
2184
      }
2185

2186
      @Getter
2187
      public static class Features {
2188
        /**
2189
         * Map of extra parameters for custom features not available in this client library. The
2190
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2191
         * Instead, each key/value pair is serialized as if the key is a root-level field
2192
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2193
         * instance.
2194
         */
2195
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2196
        Map<String, Object> extraParams;
2197

2198
        private Features(Map<String, Object> extraParams) {
×
2199
          this.extraParams = extraParams;
×
2200
        }
×
2201

2202
        public static Builder builder() {
2203
          return new Builder();
×
2204
        }
2205

2206
        public static class Builder {
×
2207
          private Map<String, Object> extraParams;
2208

2209
          /** Finalize and obtain parameter instance from this builder. */
2210
          public AccountSessionCreateParams.Components.Documents.Features build() {
2211
            return new AccountSessionCreateParams.Components.Documents.Features(this.extraParams);
×
2212
          }
2213

2214
          /**
2215
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2216
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2217
           * map. See {@link AccountSessionCreateParams.Components.Documents.Features#extraParams}
2218
           * for the field documentation.
2219
           */
2220
          public Builder putExtraParam(String key, Object value) {
2221
            if (this.extraParams == null) {
×
2222
              this.extraParams = new HashMap<>();
×
2223
            }
2224
            this.extraParams.put(key, value);
×
2225
            return this;
×
2226
          }
2227

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

2245
    @Getter
2246
    public static class FinancialAccount {
2247
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2248
      @SerializedName("enabled")
2249
      Boolean enabled;
2250

2251
      /**
2252
       * Map of extra parameters for custom features not available in this client library. The
2253
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2254
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2255
       * name in this param object. Effectively, this map is flattened to its parent instance.
2256
       */
2257
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2258
      Map<String, Object> extraParams;
2259

2260
      @SerializedName("features")
2261
      Features features;
2262

2263
      private FinancialAccount(
2264
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2265
        this.enabled = enabled;
×
2266
        this.extraParams = extraParams;
×
2267
        this.features = features;
×
2268
      }
×
2269

2270
      public static Builder builder() {
2271
        return new Builder();
×
2272
      }
2273

2274
      public static class Builder {
×
2275
        private Boolean enabled;
2276

2277
        private Map<String, Object> extraParams;
2278

2279
        private Features features;
2280

2281
        /** Finalize and obtain parameter instance from this builder. */
2282
        public AccountSessionCreateParams.Components.FinancialAccount build() {
2283
          return new AccountSessionCreateParams.Components.FinancialAccount(
×
2284
              this.enabled, this.extraParams, this.features);
2285
        }
2286

2287
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2288
        public Builder setEnabled(Boolean enabled) {
2289
          this.enabled = enabled;
×
2290
          return this;
×
2291
        }
2292

2293
        /**
2294
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2295
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2296
         * map. See {@link AccountSessionCreateParams.Components.FinancialAccount#extraParams} for
2297
         * the field documentation.
2298
         */
2299
        public Builder putExtraParam(String key, Object value) {
2300
          if (this.extraParams == null) {
×
2301
            this.extraParams = new HashMap<>();
×
2302
          }
2303
          this.extraParams.put(key, value);
×
2304
          return this;
×
2305
        }
2306

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

2321
        public Builder setFeatures(
2322
            AccountSessionCreateParams.Components.FinancialAccount.Features features) {
2323
          this.features = features;
×
2324
          return this;
×
2325
        }
2326
      }
2327

2328
      @Getter
2329
      public static class Features {
2330
        /** Whether to allow external accounts to be linked for money transfer. */
2331
        @SerializedName("external_account_collection")
2332
        Boolean externalAccountCollection;
2333

2334
        /**
2335
         * Map of extra parameters for custom features not available in this client library. The
2336
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2337
         * Instead, each key/value pair is serialized as if the key is a root-level field
2338
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2339
         * instance.
2340
         */
2341
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2342
        Map<String, Object> extraParams;
2343

2344
        /** Whether to allow money movement features. */
2345
        @SerializedName("money_movement")
2346
        Boolean moneyMovement;
2347

2348
        private Features(
2349
            Boolean externalAccountCollection,
2350
            Map<String, Object> extraParams,
2351
            Boolean moneyMovement) {
×
2352
          this.externalAccountCollection = externalAccountCollection;
×
2353
          this.extraParams = extraParams;
×
2354
          this.moneyMovement = moneyMovement;
×
2355
        }
×
2356

2357
        public static Builder builder() {
2358
          return new Builder();
×
2359
        }
2360

2361
        public static class Builder {
×
2362
          private Boolean externalAccountCollection;
2363

2364
          private Map<String, Object> extraParams;
2365

2366
          private Boolean moneyMovement;
2367

2368
          /** Finalize and obtain parameter instance from this builder. */
2369
          public AccountSessionCreateParams.Components.FinancialAccount.Features build() {
2370
            return new AccountSessionCreateParams.Components.FinancialAccount.Features(
×
2371
                this.externalAccountCollection, this.extraParams, this.moneyMovement);
2372
          }
2373

2374
          /** Whether to allow external accounts to be linked for money transfer. */
2375
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
2376
            this.externalAccountCollection = externalAccountCollection;
×
2377
            return this;
×
2378
          }
2379

2380
          /**
2381
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2382
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2383
           * map. See {@link
2384
           * AccountSessionCreateParams.Components.FinancialAccount.Features#extraParams} for the
2385
           * field documentation.
2386
           */
2387
          public Builder putExtraParam(String key, Object value) {
2388
            if (this.extraParams == null) {
×
2389
              this.extraParams = new HashMap<>();
×
2390
            }
2391
            this.extraParams.put(key, value);
×
2392
            return this;
×
2393
          }
2394

2395
          /**
2396
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2397
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2398
           * map. See {@link
2399
           * AccountSessionCreateParams.Components.FinancialAccount.Features#extraParams} for the
2400
           * field documentation.
2401
           */
2402
          public Builder putAllExtraParam(Map<String, Object> map) {
2403
            if (this.extraParams == null) {
×
2404
              this.extraParams = new HashMap<>();
×
2405
            }
2406
            this.extraParams.putAll(map);
×
2407
            return this;
×
2408
          }
2409

2410
          /** Whether to allow money movement features. */
2411
          public Builder setMoneyMovement(Boolean moneyMovement) {
2412
            this.moneyMovement = moneyMovement;
×
2413
            return this;
×
2414
          }
2415
        }
2416
      }
2417
    }
2418

2419
    @Getter
2420
    public static class FinancialAccountTransactions {
2421
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2422
      @SerializedName("enabled")
2423
      Boolean enabled;
2424

2425
      /**
2426
       * Map of extra parameters for custom features not available in this client library. The
2427
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2428
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2429
       * name in this param object. Effectively, this map is flattened to its parent instance.
2430
       */
2431
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2432
      Map<String, Object> extraParams;
2433

2434
      @SerializedName("features")
2435
      Features features;
2436

2437
      private FinancialAccountTransactions(
2438
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2439
        this.enabled = enabled;
×
2440
        this.extraParams = extraParams;
×
2441
        this.features = features;
×
2442
      }
×
2443

2444
      public static Builder builder() {
2445
        return new Builder();
×
2446
      }
2447

2448
      public static class Builder {
×
2449
        private Boolean enabled;
2450

2451
        private Map<String, Object> extraParams;
2452

2453
        private Features features;
2454

2455
        /** Finalize and obtain parameter instance from this builder. */
2456
        public AccountSessionCreateParams.Components.FinancialAccountTransactions build() {
2457
          return new AccountSessionCreateParams.Components.FinancialAccountTransactions(
×
2458
              this.enabled, this.extraParams, this.features);
2459
        }
2460

2461
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2462
        public Builder setEnabled(Boolean enabled) {
2463
          this.enabled = enabled;
×
2464
          return this;
×
2465
        }
2466

2467
        /**
2468
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2469
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2470
         * map. See {@link
2471
         * AccountSessionCreateParams.Components.FinancialAccountTransactions#extraParams} for the
2472
         * field documentation.
2473
         */
2474
        public Builder putExtraParam(String key, Object value) {
2475
          if (this.extraParams == null) {
×
2476
            this.extraParams = new HashMap<>();
×
2477
          }
2478
          this.extraParams.put(key, value);
×
2479
          return this;
×
2480
        }
2481

2482
        /**
2483
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2484
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2485
         * map. See {@link
2486
         * AccountSessionCreateParams.Components.FinancialAccountTransactions#extraParams} for the
2487
         * field documentation.
2488
         */
2489
        public Builder putAllExtraParam(Map<String, Object> map) {
2490
          if (this.extraParams == null) {
×
2491
            this.extraParams = new HashMap<>();
×
2492
          }
2493
          this.extraParams.putAll(map);
×
2494
          return this;
×
2495
        }
2496

2497
        public Builder setFeatures(
2498
            AccountSessionCreateParams.Components.FinancialAccountTransactions.Features features) {
2499
          this.features = features;
×
2500
          return this;
×
2501
        }
2502
      }
2503

2504
      @Getter
2505
      public static class Features {
2506
        /** Whether to allow card spend dispute features. */
2507
        @SerializedName("card_spend_dispute_management")
2508
        Boolean cardSpendDisputeManagement;
2509

2510
        /**
2511
         * Map of extra parameters for custom features not available in this client library. The
2512
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2513
         * Instead, each key/value pair is serialized as if the key is a root-level field
2514
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2515
         * instance.
2516
         */
2517
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2518
        Map<String, Object> extraParams;
2519

2520
        private Features(Boolean cardSpendDisputeManagement, Map<String, Object> extraParams) {
×
2521
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2522
          this.extraParams = extraParams;
×
2523
        }
×
2524

2525
        public static Builder builder() {
2526
          return new Builder();
×
2527
        }
2528

2529
        public static class Builder {
×
2530
          private Boolean cardSpendDisputeManagement;
2531

2532
          private Map<String, Object> extraParams;
2533

2534
          /** Finalize and obtain parameter instance from this builder. */
2535
          public AccountSessionCreateParams.Components.FinancialAccountTransactions.Features
2536
              build() {
2537
            return new AccountSessionCreateParams.Components.FinancialAccountTransactions.Features(
×
2538
                this.cardSpendDisputeManagement, this.extraParams);
2539
          }
2540

2541
          /** Whether to allow card spend dispute features. */
2542
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
2543
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
2544
            return this;
×
2545
          }
2546

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

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

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

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

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

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

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

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

2612
        private Map<String, Object> extraParams;
2613

2614
        private Features features;
2615

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

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

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

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

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

2664
      @Getter
2665
      public static class Features {
2666
        /**
2667
         * Map of extra parameters for custom features not available in this client library. The
2668
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2669
         * Instead, each key/value pair is serialized as if the key is a root-level field
2670
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2671
         * instance.
2672
         */
2673
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2674
        Map<String, Object> extraParams;
2675

2676
        private Features(Map<String, Object> extraParams) {
×
2677
          this.extraParams = extraParams;
×
2678
        }
×
2679

2680
        public static Builder builder() {
2681
          return new Builder();
×
2682
        }
2683

2684
        public static class Builder {
×
2685
          private Map<String, Object> extraParams;
2686

2687
          /** Finalize and obtain parameter instance from this builder. */
2688
          public AccountSessionCreateParams.Components.IssuingCard.Features build() {
2689
            return new AccountSessionCreateParams.Components.IssuingCard.Features(this.extraParams);
×
2690
          }
2691

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

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

2723
    @Getter
2724
    public static class IssuingCardsList {
2725
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2726
      @SerializedName("enabled")
2727
      Boolean enabled;
2728

2729
      /**
2730
       * Map of extra parameters for custom features not available in this client library. The
2731
       * content in this map is not serialized under this field's {@code @SerializedName} value.
2732
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
2733
       * name in this param object. Effectively, this map is flattened to its parent instance.
2734
       */
2735
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2736
      Map<String, Object> extraParams;
2737

2738
      /** The list of features enabled in the embedded component. */
2739
      @SerializedName("features")
2740
      Features features;
2741

2742
      private IssuingCardsList(
2743
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
2744
        this.enabled = enabled;
×
2745
        this.extraParams = extraParams;
×
2746
        this.features = features;
×
2747
      }
×
2748

2749
      public static Builder builder() {
2750
        return new Builder();
×
2751
      }
2752

2753
      public static class Builder {
×
2754
        private Boolean enabled;
2755

2756
        private Map<String, Object> extraParams;
2757

2758
        private Features features;
2759

2760
        /** Finalize and obtain parameter instance from this builder. */
2761
        public AccountSessionCreateParams.Components.IssuingCardsList build() {
2762
          return new AccountSessionCreateParams.Components.IssuingCardsList(
×
2763
              this.enabled, this.extraParams, this.features);
2764
        }
2765

2766
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2767
        public Builder setEnabled(Boolean enabled) {
2768
          this.enabled = enabled;
×
2769
          return this;
×
2770
        }
2771

2772
        /**
2773
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
2774
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2775
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
2776
         * the field documentation.
2777
         */
2778
        public Builder putExtraParam(String key, Object value) {
2779
          if (this.extraParams == null) {
×
2780
            this.extraParams = new HashMap<>();
×
2781
          }
2782
          this.extraParams.put(key, value);
×
2783
          return this;
×
2784
        }
2785

2786
        /**
2787
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2788
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2789
         * map. See {@link AccountSessionCreateParams.Components.IssuingCardsList#extraParams} for
2790
         * the field documentation.
2791
         */
2792
        public Builder putAllExtraParam(Map<String, Object> map) {
2793
          if (this.extraParams == null) {
×
2794
            this.extraParams = new HashMap<>();
×
2795
          }
2796
          this.extraParams.putAll(map);
×
2797
          return this;
×
2798
        }
2799

2800
        /** The list of features enabled in the embedded component. */
2801
        public Builder setFeatures(
2802
            AccountSessionCreateParams.Components.IssuingCardsList.Features features) {
2803
          this.features = features;
×
2804
          return this;
×
2805
        }
2806
      }
2807

2808
      @Getter
2809
      public static class Features {
2810
        /** Whether to allow card management features. */
2811
        @SerializedName("card_management")
2812
        Boolean cardManagement;
2813

2814
        /** Whether to allow cardholder management features. */
2815
        @SerializedName("cardholder_management")
2816
        Boolean cardholderManagement;
2817

2818
        /**
2819
         * Map of extra parameters for custom features not available in this client library. The
2820
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2821
         * Instead, each key/value pair is serialized as if the key is a root-level field
2822
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2823
         * instance.
2824
         */
2825
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2826
        Map<String, Object> extraParams;
2827

2828
        private Features(
2829
            Boolean cardManagement, Boolean cardholderManagement, Map<String, Object> extraParams) {
×
2830
          this.cardManagement = cardManagement;
×
2831
          this.cardholderManagement = cardholderManagement;
×
2832
          this.extraParams = extraParams;
×
2833
        }
×
2834

2835
        public static Builder builder() {
2836
          return new Builder();
×
2837
        }
2838

2839
        public static class Builder {
×
2840
          private Boolean cardManagement;
2841

2842
          private Boolean cardholderManagement;
2843

2844
          private Map<String, Object> extraParams;
2845

2846
          /** Finalize and obtain parameter instance from this builder. */
2847
          public AccountSessionCreateParams.Components.IssuingCardsList.Features build() {
2848
            return new AccountSessionCreateParams.Components.IssuingCardsList.Features(
×
2849
                this.cardManagement, this.cardholderManagement, this.extraParams);
2850
          }
2851

2852
          /** Whether to allow card management features. */
2853
          public Builder setCardManagement(Boolean cardManagement) {
2854
            this.cardManagement = cardManagement;
×
2855
            return this;
×
2856
          }
2857

2858
          /** Whether to allow cardholder management features. */
2859
          public Builder setCardholderManagement(Boolean cardholderManagement) {
2860
            this.cardholderManagement = cardholderManagement;
×
2861
            return this;
×
2862
          }
2863

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

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

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

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

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

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

2923
      public static Builder builder() {
2924
        return new Builder();
×
2925
      }
2926

2927
      public static class Builder {
×
2928
        private Boolean enabled;
2929

2930
        private Map<String, Object> extraParams;
2931

2932
        private Features features;
2933

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

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

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

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

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

2982
      @Getter
2983
      public static class Features {
2984
        /**
2985
         * Whether to allow platforms to control bank account collection for their connected
2986
         * accounts. This feature can only be false for custom accounts (or accounts where the
2987
         * platform is compliance owner). Otherwise, bank account collection is determined by
2988
         * compliance requirements.
2989
         */
2990
        @SerializedName("external_account_collection")
2991
        Boolean externalAccountCollection;
2992

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

3003
        private Features(Boolean externalAccountCollection, Map<String, Object> extraParams) {
×
3004
          this.externalAccountCollection = externalAccountCollection;
×
3005
          this.extraParams = extraParams;
×
3006
        }
×
3007

3008
        public static Builder builder() {
3009
          return new Builder();
×
3010
        }
3011

3012
        public static class Builder {
×
3013
          private Boolean externalAccountCollection;
3014

3015
          private Map<String, Object> extraParams;
3016

3017
          /** Finalize and obtain parameter instance from this builder. */
3018
          public AccountSessionCreateParams.Components.NotificationBanner.Features build() {
3019
            return new AccountSessionCreateParams.Components.NotificationBanner.Features(
×
3020
                this.externalAccountCollection, this.extraParams);
3021
          }
3022

3023
          /**
3024
           * Whether to allow platforms to control bank account collection for their connected
3025
           * accounts. This feature can only be false for custom accounts (or accounts where the
3026
           * platform is compliance owner). Otherwise, bank account collection is determined by
3027
           * compliance requirements.
3028
           */
3029
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
3030
            this.externalAccountCollection = externalAccountCollection;
×
3031
            return this;
×
3032
          }
3033

3034
          /**
3035
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3036
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3037
           * map. See {@link
3038
           * AccountSessionCreateParams.Components.NotificationBanner.Features#extraParams} for the
3039
           * field documentation.
3040
           */
3041
          public Builder putExtraParam(String key, Object value) {
3042
            if (this.extraParams == null) {
×
3043
              this.extraParams = new HashMap<>();
×
3044
            }
3045
            this.extraParams.put(key, value);
×
3046
            return this;
×
3047
          }
3048

3049
          /**
3050
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3051
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3052
           * map. See {@link
3053
           * AccountSessionCreateParams.Components.NotificationBanner.Features#extraParams} for the
3054
           * field documentation.
3055
           */
3056
          public Builder putAllExtraParam(Map<String, Object> map) {
3057
            if (this.extraParams == null) {
×
3058
              this.extraParams = new HashMap<>();
×
3059
            }
3060
            this.extraParams.putAll(map);
×
3061
            return this;
×
3062
          }
3063
        }
3064
      }
3065
    }
3066

3067
    @Getter
3068
    public static class PaymentDetails {
3069
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3070
      @SerializedName("enabled")
3071
      Boolean enabled;
3072

3073
      /**
3074
       * Map of extra parameters for custom features not available in this client library. The
3075
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3076
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3077
       * name in this param object. Effectively, this map is flattened to its parent instance.
3078
       */
3079
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3080
      Map<String, Object> extraParams;
3081

3082
      /** The list of features enabled in the embedded component. */
3083
      @SerializedName("features")
3084
      Features features;
3085

3086
      private PaymentDetails(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3087
        this.enabled = enabled;
×
3088
        this.extraParams = extraParams;
×
3089
        this.features = features;
×
3090
      }
×
3091

3092
      public static Builder builder() {
3093
        return new Builder();
×
3094
      }
3095

3096
      public static class Builder {
×
3097
        private Boolean enabled;
3098

3099
        private Map<String, Object> extraParams;
3100

3101
        private Features features;
3102

3103
        /** Finalize and obtain parameter instance from this builder. */
3104
        public AccountSessionCreateParams.Components.PaymentDetails build() {
3105
          return new AccountSessionCreateParams.Components.PaymentDetails(
×
3106
              this.enabled, this.extraParams, this.features);
3107
        }
3108

3109
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3110
        public Builder setEnabled(Boolean enabled) {
3111
          this.enabled = enabled;
×
3112
          return this;
×
3113
        }
3114

3115
        /**
3116
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3117
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3118
         * map. See {@link AccountSessionCreateParams.Components.PaymentDetails#extraParams} for the
3119
         * field documentation.
3120
         */
3121
        public Builder putExtraParam(String key, Object value) {
3122
          if (this.extraParams == null) {
×
3123
            this.extraParams = new HashMap<>();
×
3124
          }
3125
          this.extraParams.put(key, value);
×
3126
          return this;
×
3127
        }
3128

3129
        /**
3130
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3131
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3132
         * map. See {@link AccountSessionCreateParams.Components.PaymentDetails#extraParams} for the
3133
         * field documentation.
3134
         */
3135
        public Builder putAllExtraParam(Map<String, Object> map) {
3136
          if (this.extraParams == null) {
×
3137
            this.extraParams = new HashMap<>();
×
3138
          }
3139
          this.extraParams.putAll(map);
×
3140
          return this;
×
3141
        }
3142

3143
        /** The list of features enabled in the embedded component. */
3144
        public Builder setFeatures(
3145
            AccountSessionCreateParams.Components.PaymentDetails.Features features) {
3146
          this.features = features;
×
3147
          return this;
×
3148
        }
3149
      }
3150

3151
      @Getter
3152
      public static class Features {
3153
        /**
3154
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3155
         * default.
3156
         */
3157
        @SerializedName("capture_payments")
3158
        Boolean capturePayments;
3159

3160
        /**
3161
         * Whether to allow connected accounts to manage destination charges that are created on
3162
         * behalf of them. This is {@code false} by default.
3163
         */
3164
        @SerializedName("destination_on_behalf_of_charge_management")
3165
        Boolean destinationOnBehalfOfChargeManagement;
3166

3167
        /**
3168
         * Whether to allow responding to disputes, including submitting evidence and accepting
3169
         * disputes. This is {@code true} by default.
3170
         */
3171
        @SerializedName("dispute_management")
3172
        Boolean disputeManagement;
3173

3174
        /**
3175
         * Map of extra parameters for custom features not available in this client library. The
3176
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3177
         * Instead, each key/value pair is serialized as if the key is a root-level field
3178
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3179
         * instance.
3180
         */
3181
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3182
        Map<String, Object> extraParams;
3183

3184
        /** Whether to allow sending refunds. This is {@code true} by default. */
3185
        @SerializedName("refund_management")
3186
        Boolean refundManagement;
3187

3188
        private Features(
3189
            Boolean capturePayments,
3190
            Boolean destinationOnBehalfOfChargeManagement,
3191
            Boolean disputeManagement,
3192
            Map<String, Object> extraParams,
3193
            Boolean refundManagement) {
×
3194
          this.capturePayments = capturePayments;
×
3195
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3196
          this.disputeManagement = disputeManagement;
×
3197
          this.extraParams = extraParams;
×
3198
          this.refundManagement = refundManagement;
×
3199
        }
×
3200

3201
        public static Builder builder() {
3202
          return new Builder();
×
3203
        }
3204

3205
        public static class Builder {
×
3206
          private Boolean capturePayments;
3207

3208
          private Boolean destinationOnBehalfOfChargeManagement;
3209

3210
          private Boolean disputeManagement;
3211

3212
          private Map<String, Object> extraParams;
3213

3214
          private Boolean refundManagement;
3215

3216
          /** Finalize and obtain parameter instance from this builder. */
3217
          public AccountSessionCreateParams.Components.PaymentDetails.Features build() {
3218
            return new AccountSessionCreateParams.Components.PaymentDetails.Features(
×
3219
                this.capturePayments,
3220
                this.destinationOnBehalfOfChargeManagement,
3221
                this.disputeManagement,
3222
                this.extraParams,
3223
                this.refundManagement);
3224
          }
3225

3226
          /**
3227
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3228
           * default.
3229
           */
3230
          public Builder setCapturePayments(Boolean capturePayments) {
3231
            this.capturePayments = capturePayments;
×
3232
            return this;
×
3233
          }
3234

3235
          /**
3236
           * Whether to allow connected accounts to manage destination charges that are created on
3237
           * behalf of them. This is {@code false} by default.
3238
           */
3239
          public Builder setDestinationOnBehalfOfChargeManagement(
3240
              Boolean destinationOnBehalfOfChargeManagement) {
3241
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3242
            return this;
×
3243
          }
3244

3245
          /**
3246
           * Whether to allow responding to disputes, including submitting evidence and accepting
3247
           * disputes. This is {@code true} by default.
3248
           */
3249
          public Builder setDisputeManagement(Boolean disputeManagement) {
3250
            this.disputeManagement = disputeManagement;
×
3251
            return this;
×
3252
          }
3253

3254
          /**
3255
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3256
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3257
           * map. See {@link
3258
           * AccountSessionCreateParams.Components.PaymentDetails.Features#extraParams} for the
3259
           * field documentation.
3260
           */
3261
          public Builder putExtraParam(String key, Object value) {
3262
            if (this.extraParams == null) {
×
3263
              this.extraParams = new HashMap<>();
×
3264
            }
3265
            this.extraParams.put(key, value);
×
3266
            return this;
×
3267
          }
3268

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

3284
          /** Whether to allow sending refunds. This is {@code true} by default. */
3285
          public Builder setRefundManagement(Boolean refundManagement) {
3286
            this.refundManagement = refundManagement;
×
3287
            return this;
×
3288
          }
3289
        }
3290
      }
3291
    }
3292

3293
    @Getter
3294
    public static class PaymentMethodSettings {
3295
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3296
      @SerializedName("enabled")
3297
      Boolean enabled;
3298

3299
      /**
3300
       * Map of extra parameters for custom features not available in this client library. The
3301
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3302
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3303
       * name in this param object. Effectively, this map is flattened to its parent instance.
3304
       */
3305
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3306
      Map<String, Object> extraParams;
3307

3308
      /** The list of features enabled in the embedded component. */
3309
      @SerializedName("features")
3310
      Features features;
3311

3312
      private PaymentMethodSettings(
3313
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3314
        this.enabled = enabled;
×
3315
        this.extraParams = extraParams;
×
3316
        this.features = features;
×
3317
      }
×
3318

3319
      public static Builder builder() {
3320
        return new Builder();
×
3321
      }
3322

3323
      public static class Builder {
×
3324
        private Boolean enabled;
3325

3326
        private Map<String, Object> extraParams;
3327

3328
        private Features features;
3329

3330
        /** Finalize and obtain parameter instance from this builder. */
3331
        public AccountSessionCreateParams.Components.PaymentMethodSettings build() {
3332
          return new AccountSessionCreateParams.Components.PaymentMethodSettings(
×
3333
              this.enabled, this.extraParams, this.features);
3334
        }
3335

3336
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3337
        public Builder setEnabled(Boolean enabled) {
3338
          this.enabled = enabled;
×
3339
          return this;
×
3340
        }
3341

3342
        /**
3343
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3344
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3345
         * map. See {@link AccountSessionCreateParams.Components.PaymentMethodSettings#extraParams}
3346
         * for the field documentation.
3347
         */
3348
        public Builder putExtraParam(String key, Object value) {
3349
          if (this.extraParams == null) {
×
3350
            this.extraParams = new HashMap<>();
×
3351
          }
3352
          this.extraParams.put(key, value);
×
3353
          return this;
×
3354
        }
3355

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

3370
        /** The list of features enabled in the embedded component. */
3371
        public Builder setFeatures(
3372
            AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) {
3373
          this.features = features;
×
3374
          return this;
×
3375
        }
3376
      }
3377

3378
      @Getter
3379
      public static class Features {
3380
        /**
3381
         * Map of extra parameters for custom features not available in this client library. The
3382
         * content in this map is not serialized under this field's {@code @SerializedName} value.
3383
         * Instead, each key/value pair is serialized as if the key is a root-level field
3384
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
3385
         * instance.
3386
         */
3387
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3388
        Map<String, Object> extraParams;
3389

3390
        private Features(Map<String, Object> extraParams) {
×
3391
          this.extraParams = extraParams;
×
3392
        }
×
3393

3394
        public static Builder builder() {
3395
          return new Builder();
×
3396
        }
3397

3398
        public static class Builder {
×
3399
          private Map<String, Object> extraParams;
3400

3401
          /** Finalize and obtain parameter instance from this builder. */
3402
          public AccountSessionCreateParams.Components.PaymentMethodSettings.Features build() {
3403
            return new AccountSessionCreateParams.Components.PaymentMethodSettings.Features(
×
3404
                this.extraParams);
3405
          }
3406

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

3422
          /**
3423
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
3424
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3425
           * map. See {@link
3426
           * AccountSessionCreateParams.Components.PaymentMethodSettings.Features#extraParams} for
3427
           * the field documentation.
3428
           */
3429
          public Builder putAllExtraParam(Map<String, Object> map) {
3430
            if (this.extraParams == null) {
×
3431
              this.extraParams = new HashMap<>();
×
3432
            }
3433
            this.extraParams.putAll(map);
×
3434
            return this;
×
3435
          }
3436
        }
3437
      }
3438
    }
3439

3440
    @Getter
3441
    public static class Payments {
3442
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3443
      @SerializedName("enabled")
3444
      Boolean enabled;
3445

3446
      /**
3447
       * Map of extra parameters for custom features not available in this client library. The
3448
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3449
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3450
       * name in this param object. Effectively, this map is flattened to its parent instance.
3451
       */
3452
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3453
      Map<String, Object> extraParams;
3454

3455
      /** The list of features enabled in the embedded component. */
3456
      @SerializedName("features")
3457
      Features features;
3458

3459
      private Payments(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3460
        this.enabled = enabled;
×
3461
        this.extraParams = extraParams;
×
3462
        this.features = features;
×
3463
      }
×
3464

3465
      public static Builder builder() {
3466
        return new Builder();
×
3467
      }
3468

3469
      public static class Builder {
×
3470
        private Boolean enabled;
3471

3472
        private Map<String, Object> extraParams;
3473

3474
        private Features features;
3475

3476
        /** Finalize and obtain parameter instance from this builder. */
3477
        public AccountSessionCreateParams.Components.Payments build() {
3478
          return new AccountSessionCreateParams.Components.Payments(
×
3479
              this.enabled, this.extraParams, this.features);
3480
        }
3481

3482
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3483
        public Builder setEnabled(Boolean enabled) {
3484
          this.enabled = enabled;
×
3485
          return this;
×
3486
        }
3487

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

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

3516
        /** The list of features enabled in the embedded component. */
3517
        public Builder setFeatures(
3518
            AccountSessionCreateParams.Components.Payments.Features features) {
3519
          this.features = features;
×
3520
          return this;
×
3521
        }
3522
      }
3523

3524
      @Getter
3525
      public static class Features {
3526
        /**
3527
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3528
         * default.
3529
         */
3530
        @SerializedName("capture_payments")
3531
        Boolean capturePayments;
3532

3533
        /**
3534
         * Whether to allow connected accounts to manage destination charges that are created on
3535
         * behalf of them. This is {@code false} by default.
3536
         */
3537
        @SerializedName("destination_on_behalf_of_charge_management")
3538
        Boolean destinationOnBehalfOfChargeManagement;
3539

3540
        /**
3541
         * Whether to allow responding to disputes, including submitting evidence and accepting
3542
         * disputes. This is {@code true} by default.
3543
         */
3544
        @SerializedName("dispute_management")
3545
        Boolean disputeManagement;
3546

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

3557
        /** Whether to allow sending refunds. This is {@code true} by default. */
3558
        @SerializedName("refund_management")
3559
        Boolean refundManagement;
3560

3561
        private Features(
3562
            Boolean capturePayments,
3563
            Boolean destinationOnBehalfOfChargeManagement,
3564
            Boolean disputeManagement,
3565
            Map<String, Object> extraParams,
3566
            Boolean refundManagement) {
×
3567
          this.capturePayments = capturePayments;
×
3568
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3569
          this.disputeManagement = disputeManagement;
×
3570
          this.extraParams = extraParams;
×
3571
          this.refundManagement = refundManagement;
×
3572
        }
×
3573

3574
        public static Builder builder() {
3575
          return new Builder();
×
3576
        }
3577

3578
        public static class Builder {
×
3579
          private Boolean capturePayments;
3580

3581
          private Boolean destinationOnBehalfOfChargeManagement;
3582

3583
          private Boolean disputeManagement;
3584

3585
          private Map<String, Object> extraParams;
3586

3587
          private Boolean refundManagement;
3588

3589
          /** Finalize and obtain parameter instance from this builder. */
3590
          public AccountSessionCreateParams.Components.Payments.Features build() {
3591
            return new AccountSessionCreateParams.Components.Payments.Features(
×
3592
                this.capturePayments,
3593
                this.destinationOnBehalfOfChargeManagement,
3594
                this.disputeManagement,
3595
                this.extraParams,
3596
                this.refundManagement);
3597
          }
3598

3599
          /**
3600
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3601
           * default.
3602
           */
3603
          public Builder setCapturePayments(Boolean capturePayments) {
3604
            this.capturePayments = capturePayments;
×
3605
            return this;
×
3606
          }
3607

3608
          /**
3609
           * Whether to allow connected accounts to manage destination charges that are created on
3610
           * behalf of them. This is {@code false} by default.
3611
           */
3612
          public Builder setDestinationOnBehalfOfChargeManagement(
3613
              Boolean destinationOnBehalfOfChargeManagement) {
3614
            this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
3615
            return this;
×
3616
          }
3617

3618
          /**
3619
           * Whether to allow responding to disputes, including submitting evidence and accepting
3620
           * disputes. This is {@code true} by default.
3621
           */
3622
          public Builder setDisputeManagement(Boolean disputeManagement) {
3623
            this.disputeManagement = disputeManagement;
×
3624
            return this;
×
3625
          }
3626

3627
          /**
3628
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3629
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3630
           * map. See {@link AccountSessionCreateParams.Components.Payments.Features#extraParams}
3631
           * for the field documentation.
3632
           */
3633
          public Builder putExtraParam(String key, Object value) {
3634
            if (this.extraParams == null) {
×
3635
              this.extraParams = new HashMap<>();
×
3636
            }
3637
            this.extraParams.put(key, value);
×
3638
            return this;
×
3639
          }
3640

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

3655
          /** Whether to allow sending refunds. This is {@code true} by default. */
3656
          public Builder setRefundManagement(Boolean refundManagement) {
3657
            this.refundManagement = refundManagement;
×
3658
            return this;
×
3659
          }
3660
        }
3661
      }
3662
    }
3663

3664
    @Getter
3665
    public static class Payouts {
3666
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3667
      @SerializedName("enabled")
3668
      Boolean enabled;
3669

3670
      /**
3671
       * Map of extra parameters for custom features not available in this client library. The
3672
       * content in this map is not serialized under this field's {@code @SerializedName} value.
3673
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
3674
       * name in this param object. Effectively, this map is flattened to its parent instance.
3675
       */
3676
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
3677
      Map<String, Object> extraParams;
3678

3679
      /** The list of features enabled in the embedded component. */
3680
      @SerializedName("features")
3681
      Features features;
3682

3683
      private Payouts(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3684
        this.enabled = enabled;
×
3685
        this.extraParams = extraParams;
×
3686
        this.features = features;
×
3687
      }
×
3688

3689
      public static Builder builder() {
3690
        return new Builder();
×
3691
      }
3692

3693
      public static class Builder {
×
3694
        private Boolean enabled;
3695

3696
        private Map<String, Object> extraParams;
3697

3698
        private Features features;
3699

3700
        /** Finalize and obtain parameter instance from this builder. */
3701
        public AccountSessionCreateParams.Components.Payouts build() {
3702
          return new AccountSessionCreateParams.Components.Payouts(
×
3703
              this.enabled, this.extraParams, this.features);
3704
        }
3705

3706
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3707
        public Builder setEnabled(Boolean enabled) {
3708
          this.enabled = enabled;
×
3709
          return this;
×
3710
        }
3711

3712
        /**
3713
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
3714
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3715
         * map. See {@link AccountSessionCreateParams.Components.Payouts#extraParams} for the field
3716
         * documentation.
3717
         */
3718
        public Builder putExtraParam(String key, Object value) {
3719
          if (this.extraParams == null) {
×
3720
            this.extraParams = new HashMap<>();
×
3721
          }
3722
          this.extraParams.put(key, value);
×
3723
          return this;
×
3724
        }
3725

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

3740
        /** The list of features enabled in the embedded component. */
3741
        public Builder setFeatures(
3742
            AccountSessionCreateParams.Components.Payouts.Features features) {
3743
          this.features = features;
×
3744
          return this;
×
3745
        }
3746
      }
3747

3748
      @Getter
3749
      public static class Features {
3750
        /**
3751
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
3752
         * Loss Liability, default {@code false} otherwise.
3753
         */
3754
        @SerializedName("edit_payout_schedule")
3755
        Boolean editPayoutSchedule;
3756

3757
        /**
3758
         * Whether to allow platforms to control bank account collection for their connected
3759
         * accounts. This feature can only be false for custom accounts (or accounts where the
3760
         * platform is compliance owner). Otherwise, bank account collection is determined by
3761
         * compliance requirements.
3762
         */
3763
        @SerializedName("external_account_collection")
3764
        Boolean externalAccountCollection;
3765

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

3776
        /**
3777
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
3778
         * Liability, default {@code false} otherwise.
3779
         */
3780
        @SerializedName("instant_payouts")
3781
        Boolean instantPayouts;
3782

3783
        /**
3784
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
3785
         * Liability, default {@code false} otherwise.
3786
         */
3787
        @SerializedName("standard_payouts")
3788
        Boolean standardPayouts;
3789

3790
        private Features(
3791
            Boolean editPayoutSchedule,
3792
            Boolean externalAccountCollection,
3793
            Map<String, Object> extraParams,
3794
            Boolean instantPayouts,
3795
            Boolean standardPayouts) {
×
3796
          this.editPayoutSchedule = editPayoutSchedule;
×
3797
          this.externalAccountCollection = externalAccountCollection;
×
3798
          this.extraParams = extraParams;
×
3799
          this.instantPayouts = instantPayouts;
×
3800
          this.standardPayouts = standardPayouts;
×
3801
        }
×
3802

3803
        public static Builder builder() {
3804
          return new Builder();
×
3805
        }
3806

3807
        public static class Builder {
×
3808
          private Boolean editPayoutSchedule;
3809

3810
          private Boolean externalAccountCollection;
3811

3812
          private Map<String, Object> extraParams;
3813

3814
          private Boolean instantPayouts;
3815

3816
          private Boolean standardPayouts;
3817

3818
          /** Finalize and obtain parameter instance from this builder. */
3819
          public AccountSessionCreateParams.Components.Payouts.Features build() {
3820
            return new AccountSessionCreateParams.Components.Payouts.Features(
×
3821
                this.editPayoutSchedule,
3822
                this.externalAccountCollection,
3823
                this.extraParams,
3824
                this.instantPayouts,
3825
                this.standardPayouts);
3826
          }
3827

3828
          /**
3829
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
3830
           * Loss Liability, default {@code false} otherwise.
3831
           */
3832
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
3833
            this.editPayoutSchedule = editPayoutSchedule;
×
3834
            return this;
×
3835
          }
3836

3837
          /**
3838
           * Whether to allow platforms to control bank account collection for their connected
3839
           * accounts. This feature can only be false for custom accounts (or accounts where the
3840
           * platform is compliance owner). Otherwise, bank account collection is determined by
3841
           * compliance requirements.
3842
           */
3843
          public Builder setExternalAccountCollection(Boolean externalAccountCollection) {
3844
            this.externalAccountCollection = externalAccountCollection;
×
3845
            return this;
×
3846
          }
3847

3848
          /**
3849
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
3850
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
3851
           * map. See {@link AccountSessionCreateParams.Components.Payouts.Features#extraParams} for
3852
           * the field documentation.
3853
           */
3854
          public Builder putExtraParam(String key, Object value) {
3855
            if (this.extraParams == null) {
×
3856
              this.extraParams = new HashMap<>();
×
3857
            }
3858
            this.extraParams.put(key, value);
×
3859
            return this;
×
3860
          }
3861

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

3876
          /**
3877
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
3878
           * Loss Liability, default {@code false} otherwise.
3879
           */
3880
          public Builder setInstantPayouts(Boolean instantPayouts) {
3881
            this.instantPayouts = instantPayouts;
×
3882
            return this;
×
3883
          }
3884

3885
          /**
3886
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
3887
           * Loss Liability, default {@code false} otherwise.
3888
           */
3889
          public Builder setStandardPayouts(Boolean standardPayouts) {
3890
            this.standardPayouts = standardPayouts;
×
3891
            return this;
×
3892
          }
3893
        }
3894
      }
3895
    }
3896

3897
    @Getter
3898
    public static class PayoutsList {
3899
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3900
      @SerializedName("enabled")
3901
      Boolean enabled;
3902

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

3912
      /** The list of features enabled in the embedded component. */
3913
      @SerializedName("features")
3914
      Features features;
3915

3916
      private PayoutsList(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
3917
        this.enabled = enabled;
×
3918
        this.extraParams = extraParams;
×
3919
        this.features = features;
×
3920
      }
×
3921

3922
      public static Builder builder() {
3923
        return new Builder();
×
3924
      }
3925

3926
      public static class Builder {
×
3927
        private Boolean enabled;
3928

3929
        private Map<String, Object> extraParams;
3930

3931
        private Features features;
3932

3933
        /** Finalize and obtain parameter instance from this builder. */
3934
        public AccountSessionCreateParams.Components.PayoutsList build() {
3935
          return new AccountSessionCreateParams.Components.PayoutsList(
×
3936
              this.enabled, this.extraParams, this.features);
3937
        }
3938

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

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

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

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

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

3993
        private Features(Map<String, Object> extraParams) {
×
3994
          this.extraParams = extraParams;
×
3995
        }
×
3996

3997
        public static Builder builder() {
3998
          return new Builder();
×
3999
        }
4000

4001
        public static class Builder {
×
4002
          private Map<String, Object> extraParams;
4003

4004
          /** Finalize and obtain parameter instance from this builder. */
4005
          public AccountSessionCreateParams.Components.PayoutsList.Features build() {
4006
            return new AccountSessionCreateParams.Components.PayoutsList.Features(this.extraParams);
×
4007
          }
4008

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

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

4040
    @Getter
4041
    public static class Recipients {
4042
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4043
      @SerializedName("enabled")
4044
      Boolean enabled;
4045

4046
      /**
4047
       * Map of extra parameters for custom features not available in this client library. The
4048
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4049
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4050
       * name in this param object. Effectively, this map is flattened to its parent instance.
4051
       */
4052
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4053
      Map<String, Object> extraParams;
4054

4055
      /** The list of features enabled in the embedded component. */
4056
      @SerializedName("features")
4057
      Features features;
4058

NEW
4059
      private Recipients(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
NEW
4060
        this.enabled = enabled;
×
NEW
4061
        this.extraParams = extraParams;
×
NEW
4062
        this.features = features;
×
NEW
4063
      }
×
4064

4065
      public static Builder builder() {
NEW
4066
        return new Builder();
×
4067
      }
4068

NEW
4069
      public static class Builder {
×
4070
        private Boolean enabled;
4071

4072
        private Map<String, Object> extraParams;
4073

4074
        private Features features;
4075

4076
        /** Finalize and obtain parameter instance from this builder. */
4077
        public AccountSessionCreateParams.Components.Recipients build() {
NEW
4078
          return new AccountSessionCreateParams.Components.Recipients(
×
4079
              this.enabled, this.extraParams, this.features);
4080
        }
4081

4082
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4083
        public Builder setEnabled(Boolean enabled) {
NEW
4084
          this.enabled = enabled;
×
NEW
4085
          return this;
×
4086
        }
4087

4088
        /**
4089
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
4090
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4091
         * map. See {@link AccountSessionCreateParams.Components.Recipients#extraParams} for the
4092
         * field documentation.
4093
         */
4094
        public Builder putExtraParam(String key, Object value) {
NEW
4095
          if (this.extraParams == null) {
×
NEW
4096
            this.extraParams = new HashMap<>();
×
4097
          }
NEW
4098
          this.extraParams.put(key, value);
×
NEW
4099
          return this;
×
4100
        }
4101

4102
        /**
4103
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4104
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4105
         * map. See {@link AccountSessionCreateParams.Components.Recipients#extraParams} for the
4106
         * field documentation.
4107
         */
4108
        public Builder putAllExtraParam(Map<String, Object> map) {
NEW
4109
          if (this.extraParams == null) {
×
NEW
4110
            this.extraParams = new HashMap<>();
×
4111
          }
NEW
4112
          this.extraParams.putAll(map);
×
NEW
4113
          return this;
×
4114
        }
4115

4116
        /** The list of features enabled in the embedded component. */
4117
        public Builder setFeatures(
4118
            AccountSessionCreateParams.Components.Recipients.Features features) {
NEW
4119
          this.features = features;
×
NEW
4120
          return this;
×
4121
        }
4122
      }
4123

4124
      @Getter
4125
      public static class Features {
4126
        /**
4127
         * Map of extra parameters for custom features not available in this client library. The
4128
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4129
         * Instead, each key/value pair is serialized as if the key is a root-level field
4130
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4131
         * instance.
4132
         */
4133
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4134
        Map<String, Object> extraParams;
4135

NEW
4136
        private Features(Map<String, Object> extraParams) {
×
NEW
4137
          this.extraParams = extraParams;
×
NEW
4138
        }
×
4139

4140
        public static Builder builder() {
NEW
4141
          return new Builder();
×
4142
        }
4143

NEW
4144
        public static class Builder {
×
4145
          private Map<String, Object> extraParams;
4146

4147
          /** Finalize and obtain parameter instance from this builder. */
4148
          public AccountSessionCreateParams.Components.Recipients.Features build() {
NEW
4149
            return new AccountSessionCreateParams.Components.Recipients.Features(this.extraParams);
×
4150
          }
4151

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

4166
          /**
4167
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4168
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4169
           * map. See {@link AccountSessionCreateParams.Components.Recipients.Features#extraParams}
4170
           * for the field documentation.
4171
           */
4172
          public Builder putAllExtraParam(Map<String, Object> map) {
NEW
4173
            if (this.extraParams == null) {
×
NEW
4174
              this.extraParams = new HashMap<>();
×
4175
            }
NEW
4176
            this.extraParams.putAll(map);
×
NEW
4177
            return this;
×
4178
          }
4179
        }
4180
      }
4181
    }
4182

4183
    @Getter
4184
    public static class TaxRegistrations {
4185
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4186
      @SerializedName("enabled")
4187
      Boolean enabled;
4188

4189
      /**
4190
       * Map of extra parameters for custom features not available in this client library. The
4191
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4192
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4193
       * name in this param object. Effectively, this map is flattened to its parent instance.
4194
       */
4195
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4196
      Map<String, Object> extraParams;
4197

4198
      /** The list of features enabled in the embedded component. */
4199
      @SerializedName("features")
4200
      Features features;
4201

4202
      private TaxRegistrations(
4203
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4204
        this.enabled = enabled;
×
4205
        this.extraParams = extraParams;
×
4206
        this.features = features;
×
4207
      }
×
4208

4209
      public static Builder builder() {
4210
        return new Builder();
×
4211
      }
4212

4213
      public static class Builder {
×
4214
        private Boolean enabled;
4215

4216
        private Map<String, Object> extraParams;
4217

4218
        private Features features;
4219

4220
        /** Finalize and obtain parameter instance from this builder. */
4221
        public AccountSessionCreateParams.Components.TaxRegistrations build() {
4222
          return new AccountSessionCreateParams.Components.TaxRegistrations(
×
4223
              this.enabled, this.extraParams, this.features);
4224
        }
4225

4226
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4227
        public Builder setEnabled(Boolean enabled) {
4228
          this.enabled = enabled;
×
4229
          return this;
×
4230
        }
4231

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

4246
        /**
4247
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4248
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4249
         * map. See {@link AccountSessionCreateParams.Components.TaxRegistrations#extraParams} for
4250
         * the field documentation.
4251
         */
4252
        public Builder putAllExtraParam(Map<String, Object> map) {
4253
          if (this.extraParams == null) {
×
4254
            this.extraParams = new HashMap<>();
×
4255
          }
4256
          this.extraParams.putAll(map);
×
4257
          return this;
×
4258
        }
4259

4260
        /** The list of features enabled in the embedded component. */
4261
        public Builder setFeatures(
4262
            AccountSessionCreateParams.Components.TaxRegistrations.Features features) {
4263
          this.features = features;
×
4264
          return this;
×
4265
        }
4266
      }
4267

4268
      @Getter
4269
      public static class Features {
4270
        /**
4271
         * Map of extra parameters for custom features not available in this client library. The
4272
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4273
         * Instead, each key/value pair is serialized as if the key is a root-level field
4274
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4275
         * instance.
4276
         */
4277
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4278
        Map<String, Object> extraParams;
4279

4280
        private Features(Map<String, Object> extraParams) {
×
4281
          this.extraParams = extraParams;
×
4282
        }
×
4283

4284
        public static Builder builder() {
4285
          return new Builder();
×
4286
        }
4287

4288
        public static class Builder {
×
4289
          private Map<String, Object> extraParams;
4290

4291
          /** Finalize and obtain parameter instance from this builder. */
4292
          public AccountSessionCreateParams.Components.TaxRegistrations.Features build() {
4293
            return new AccountSessionCreateParams.Components.TaxRegistrations.Features(
×
4294
                this.extraParams);
4295
          }
4296

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

4312
          /**
4313
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4314
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4315
           * map. See {@link
4316
           * AccountSessionCreateParams.Components.TaxRegistrations.Features#extraParams} for the
4317
           * field documentation.
4318
           */
4319
          public Builder putAllExtraParam(Map<String, Object> map) {
4320
            if (this.extraParams == null) {
×
4321
              this.extraParams = new HashMap<>();
×
4322
            }
4323
            this.extraParams.putAll(map);
×
4324
            return this;
×
4325
          }
4326
        }
4327
      }
4328
    }
4329

4330
    @Getter
4331
    public static class TaxSettings {
4332
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4333
      @SerializedName("enabled")
4334
      Boolean enabled;
4335

4336
      /**
4337
       * Map of extra parameters for custom features not available in this client library. The
4338
       * content in this map is not serialized under this field's {@code @SerializedName} value.
4339
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
4340
       * name in this param object. Effectively, this map is flattened to its parent instance.
4341
       */
4342
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4343
      Map<String, Object> extraParams;
4344

4345
      /** The list of features enabled in the embedded component. */
4346
      @SerializedName("features")
4347
      Features features;
4348

4349
      private TaxSettings(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
4350
        this.enabled = enabled;
×
4351
        this.extraParams = extraParams;
×
4352
        this.features = features;
×
4353
      }
×
4354

4355
      public static Builder builder() {
4356
        return new Builder();
×
4357
      }
4358

4359
      public static class Builder {
×
4360
        private Boolean enabled;
4361

4362
        private Map<String, Object> extraParams;
4363

4364
        private Features features;
4365

4366
        /** Finalize and obtain parameter instance from this builder. */
4367
        public AccountSessionCreateParams.Components.TaxSettings build() {
4368
          return new AccountSessionCreateParams.Components.TaxSettings(
×
4369
              this.enabled, this.extraParams, this.features);
4370
        }
4371

4372
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4373
        public Builder setEnabled(Boolean enabled) {
4374
          this.enabled = enabled;
×
4375
          return this;
×
4376
        }
4377

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

4392
        /**
4393
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4394
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4395
         * map. See {@link AccountSessionCreateParams.Components.TaxSettings#extraParams} for the
4396
         * field documentation.
4397
         */
4398
        public Builder putAllExtraParam(Map<String, Object> map) {
4399
          if (this.extraParams == null) {
×
4400
            this.extraParams = new HashMap<>();
×
4401
          }
4402
          this.extraParams.putAll(map);
×
4403
          return this;
×
4404
        }
4405

4406
        /** The list of features enabled in the embedded component. */
4407
        public Builder setFeatures(
4408
            AccountSessionCreateParams.Components.TaxSettings.Features features) {
4409
          this.features = features;
×
4410
          return this;
×
4411
        }
4412
      }
4413

4414
      @Getter
4415
      public static class Features {
4416
        /**
4417
         * Map of extra parameters for custom features not available in this client library. The
4418
         * content in this map is not serialized under this field's {@code @SerializedName} value.
4419
         * Instead, each key/value pair is serialized as if the key is a root-level field
4420
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
4421
         * instance.
4422
         */
4423
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
4424
        Map<String, Object> extraParams;
4425

4426
        private Features(Map<String, Object> extraParams) {
×
4427
          this.extraParams = extraParams;
×
4428
        }
×
4429

4430
        public static Builder builder() {
4431
          return new Builder();
×
4432
        }
4433

4434
        public static class Builder {
×
4435
          private Map<String, Object> extraParams;
4436

4437
          /** Finalize and obtain parameter instance from this builder. */
4438
          public AccountSessionCreateParams.Components.TaxSettings.Features build() {
4439
            return new AccountSessionCreateParams.Components.TaxSettings.Features(this.extraParams);
×
4440
          }
4441

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

4456
          /**
4457
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
4458
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
4459
           * map. See {@link AccountSessionCreateParams.Components.TaxSettings.Features#extraParams}
4460
           * for the field documentation.
4461
           */
4462
          public Builder putAllExtraParam(Map<String, Object> map) {
4463
            if (this.extraParams == null) {
×
4464
              this.extraParams = new HashMap<>();
×
4465
            }
4466
            this.extraParams.putAll(map);
×
4467
            return this;
×
4468
          }
4469
        }
4470
      }
4471
    }
4472
  }
4473
}
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