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

stripe / stripe-java / #16731

10 Jan 2025 10:03PM UTC coverage: 12.334% (-0.006%) from 12.34%
#16731

Pull #1935

github

web-flow
Merge a48a408cc into fc96887fe
Pull Request #1935: Update generated code for beta

1 of 85 new or added lines in 4 files covered. (1.18%)

5882 existing lines in 7 files now uncovered.

18907 of 153294 relevant lines covered (12.33%)

0.12 hits per line

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

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

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

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

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

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

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

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

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

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

54
    private Components components;
55

56
    private List<String> expand;
57

58
    private Map<String, Object> extraParams;
59

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

227
    /** Configuration for the recipients component. */
228
    @SerializedName("recipients")
229
    Recipients recipients;
230

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

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

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

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

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

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

303
      private AccountOnboarding accountOnboarding;
304

305
      private AppInstall appInstall;
306

307
      private AppViewport appViewport;
308

309
      private Balances balances;
310

311
      private CapitalFinancing capitalFinancing;
312

313
      private CapitalFinancingApplication capitalFinancingApplication;
314

315
      private CapitalFinancingPromotion capitalFinancingPromotion;
316

317
      private CapitalOverview capitalOverview;
318

319
      private Documents documents;
320

321
      private Map<String, Object> extraParams;
322

323
      private FinancialAccount financialAccount;
324

325
      private FinancialAccountTransactions financialAccountTransactions;
326

327
      private IssuingCard issuingCard;
328

329
      private IssuingCardsList issuingCardsList;
330

331
      private NotificationBanner notificationBanner;
332

333
      private PaymentDetails paymentDetails;
334

335
      private PaymentMethodSettings paymentMethodSettings;
336

337
      private Payments payments;
338

339
      private Payouts payouts;
340

341
      private PayoutsList payoutsList;
342

343
      private Recipients recipients;
344

345
      private ReportingChart reportingChart;
346

347
      private TaxRegistrations taxRegistrations;
348

349
      private TaxSettings taxSettings;
350

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

602
        private Map<String, Object> extraParams;
603

604
        private Features features;
605

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

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

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

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

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

654
      @Getter
655
      public static class Features {
656
        /**
657
         * Disables Stripe user authentication for this embedded component. This value can only be
658
         * true for accounts where {@code controller.requirement_collection} is {@code application}.
659
         * The default value is the opposite of the {@code external_account_collection} value. For
660
         * example, if you don’t set {@code external_account_collection}, it defaults to true and
661
         * {@code disable_stripe_user_authentication} defaults to false.
662
         */
663
        @SerializedName("disable_stripe_user_authentication")
664
        Boolean disableStripeUserAuthentication;
665

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

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

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

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

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

702
          private Boolean externalAccountCollection;
703

704
          private Map<String, Object> extraParams;
705

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

714
          /**
715
           * Disables Stripe user authentication for this embedded component. This value can only be
716
           * true for accounts where {@code controller.requirement_collection} is {@code
717
           * application}. The default value is the opposite of the {@code
718
           * external_account_collection} value. For example, if you don’t set {@code
719
           * external_account_collection}, it defaults to true and {@code
720
           * disable_stripe_user_authentication} defaults to false.
721
           */
722
          public Builder setDisableStripeUserAuthentication(
723
              Boolean disableStripeUserAuthentication) {
724
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
725
            return this;
×
726
          }
727

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

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

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

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

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

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

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

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

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

806
        private Map<String, Object> extraParams;
807

808
        private Features features;
809

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

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

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

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

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

858
      @Getter
859
      public static class Features {
860
        /**
861
         * Disables Stripe user authentication for this embedded component. This value can only be
862
         * true for accounts where {@code controller.requirement_collection} is {@code application}.
863
         * The default value is the opposite of the {@code external_account_collection} value. For
864
         * example, if you don’t set {@code external_account_collection}, it defaults to true and
865
         * {@code disable_stripe_user_authentication} defaults to false.
866
         */
867
        @SerializedName("disable_stripe_user_authentication")
868
        Boolean disableStripeUserAuthentication;
869

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

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

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

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

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

906
          private Boolean externalAccountCollection;
907

908
          private Map<String, Object> extraParams;
909

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

918
          /**
919
           * Disables Stripe user authentication for this embedded component. This value can only be
920
           * true for accounts where {@code controller.requirement_collection} is {@code
921
           * application}. The default value is the opposite of the {@code
922
           * external_account_collection} value. For example, if you don’t set {@code
923
           * external_account_collection}, it defaults to true and {@code
924
           * disable_stripe_user_authentication} defaults to false.
925
           */
926
          public Builder setDisableStripeUserAuthentication(
927
              Boolean disableStripeUserAuthentication) {
928
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
929
            return this;
×
930
          }
931

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

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

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

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

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

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

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

1002
      public static Builder builder() {
UNCOV
1003
        return new Builder();
×
1004
      }
1005

UNCOV
1006
      public static class Builder {
×
1007
        private Boolean enabled;
1008

1009
        private Map<String, Object> extraParams;
1010

1011
        private Features features;
1012

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

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

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

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

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

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

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

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

1082
        public static Builder builder() {
UNCOV
1083
          return new Builder();
×
1084
        }
1085

UNCOV
1086
        public static class Builder {
×
1087
          private Object allowedApps;
1088

1089
          private Map<String, Object> extraParams;
1090

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

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

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

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

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

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

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

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

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

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

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

1195
      public static Builder builder() {
UNCOV
1196
        return new Builder();
×
1197
      }
1198

UNCOV
1199
      public static class Builder {
×
1200
        private Boolean enabled;
1201

1202
        private Map<String, Object> extraParams;
1203

1204
        private Features features;
1205

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

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

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

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

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

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

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

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

1275
        public static Builder builder() {
UNCOV
1276
          return new Builder();
×
1277
        }
1278

UNCOV
1279
        public static class Builder {
×
1280
          private Object allowedApps;
1281

1282
          private Map<String, Object> extraParams;
1283

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

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

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

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

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

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

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

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

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

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

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

1388
      public static Builder builder() {
UNCOV
1389
        return new Builder();
×
1390
      }
1391

UNCOV
1392
      public static class Builder {
×
1393
        private Boolean enabled;
1394

1395
        private Map<String, Object> extraParams;
1396

1397
        private Features features;
1398

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

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

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

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

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

1447
      @Getter
1448
      public static class Features {
1449
        /**
1450
         * Disables Stripe user authentication for this embedded component. This value can only be
1451
         * true for accounts where {@code controller.requirement_collection} is {@code application}.
1452
         * The default value is the opposite of the {@code external_account_collection} value. For
1453
         * example, if you don’t set {@code external_account_collection}, it defaults to true and
1454
         * {@code disable_stripe_user_authentication} defaults to false.
1455
         */
1456
        @SerializedName("disable_stripe_user_authentication")
1457
        Boolean disableStripeUserAuthentication;
1458

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

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

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

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

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

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

1515
        public static Builder builder() {
UNCOV
1516
          return new Builder();
×
1517
        }
1518

UNCOV
1519
        public static class Builder {
×
1520
          private Boolean disableStripeUserAuthentication;
1521

1522
          private Boolean editPayoutSchedule;
1523

1524
          private Boolean externalAccountCollection;
1525

1526
          private Map<String, Object> extraParams;
1527

1528
          private Boolean instantPayouts;
1529

1530
          private Boolean standardPayouts;
1531

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

1543
          /**
1544
           * Disables Stripe user authentication for this embedded component. This value can only be
1545
           * true for accounts where {@code controller.requirement_collection} is {@code
1546
           * application}. The default value is the opposite of the {@code
1547
           * external_account_collection} value. For example, if you don’t set {@code
1548
           * external_account_collection}, it defaults to true and {@code
1549
           * disable_stripe_user_authentication} defaults to false.
1550
           */
1551
          public Builder setDisableStripeUserAuthentication(
1552
              Boolean disableStripeUserAuthentication) {
UNCOV
1553
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
1554
            return this;
×
1555
          }
1556

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

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

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

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

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

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

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

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

1642
      /** The list of features enabled in the embedded component. */
1643
      @SerializedName("features")
1644
      Features features;
1645

1646
      private CapitalFinancing(
UNCOV
1647
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
1648
        this.enabled = enabled;
×
UNCOV
1649
        this.extraParams = extraParams;
×
UNCOV
1650
        this.features = features;
×
UNCOV
1651
      }
×
1652

1653
      public static Builder builder() {
UNCOV
1654
        return new Builder();
×
1655
      }
1656

UNCOV
1657
      public static class Builder {
×
1658
        private Boolean enabled;
1659

1660
        private Map<String, Object> extraParams;
1661

1662
        private Features features;
1663

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

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

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

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

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

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

1724
        private Features(Map<String, Object> extraParams) {
×
UNCOV
1725
          this.extraParams = extraParams;
×
UNCOV
1726
        }
×
1727

1728
        public static Builder builder() {
UNCOV
1729
          return new Builder();
×
1730
        }
1731

UNCOV
1732
        public static class Builder {
×
1733
          private Map<String, Object> extraParams;
1734

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

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

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

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

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

1789
      /** The list of features enabled in the embedded component. */
1790
      @SerializedName("features")
1791
      Features features;
1792

1793
      private CapitalFinancingApplication(
UNCOV
1794
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
1795
        this.enabled = enabled;
×
UNCOV
1796
        this.extraParams = extraParams;
×
UNCOV
1797
        this.features = features;
×
UNCOV
1798
      }
×
1799

1800
      public static Builder builder() {
UNCOV
1801
        return new Builder();
×
1802
      }
1803

UNCOV
1804
      public static class Builder {
×
1805
        private Boolean enabled;
1806

1807
        private Map<String, Object> extraParams;
1808

1809
        private Features features;
1810

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

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

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

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

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

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

1873
        private Features(Map<String, Object> extraParams) {
×
UNCOV
1874
          this.extraParams = extraParams;
×
UNCOV
1875
        }
×
1876

1877
        public static Builder builder() {
UNCOV
1878
          return new Builder();
×
1879
        }
1880

UNCOV
1881
        public static class Builder {
×
1882
          private Map<String, Object> extraParams;
1883

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

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

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

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

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

1939
      /** The list of features enabled in the embedded component. */
1940
      @SerializedName("features")
1941
      Features features;
1942

1943
      private CapitalFinancingPromotion(
UNCOV
1944
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
1945
        this.enabled = enabled;
×
UNCOV
1946
        this.extraParams = extraParams;
×
UNCOV
1947
        this.features = features;
×
UNCOV
1948
      }
×
1949

1950
      public static Builder builder() {
UNCOV
1951
        return new Builder();
×
1952
      }
1953

UNCOV
1954
      public static class Builder {
×
1955
        private Boolean enabled;
1956

1957
        private Map<String, Object> extraParams;
1958

1959
        private Features features;
1960

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

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

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

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

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

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

2023
        private Features(Map<String, Object> extraParams) {
×
UNCOV
2024
          this.extraParams = extraParams;
×
UNCOV
2025
        }
×
2026

2027
        public static Builder builder() {
UNCOV
2028
          return new Builder();
×
2029
        }
2030

UNCOV
2031
        public static class Builder {
×
2032
          private Map<String, Object> extraParams;
2033

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

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

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

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

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

2088
      /** The list of features enabled in the embedded component. */
2089
      @SerializedName("features")
2090
      Features features;
2091

UNCOV
2092
      private CapitalOverview(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
2093
        this.enabled = enabled;
×
UNCOV
2094
        this.extraParams = extraParams;
×
UNCOV
2095
        this.features = features;
×
UNCOV
2096
      }
×
2097

2098
      public static Builder builder() {
UNCOV
2099
        return new Builder();
×
2100
      }
2101

UNCOV
2102
      public static class Builder {
×
2103
        private Boolean enabled;
2104

2105
        private Map<String, Object> extraParams;
2106

2107
        private Features features;
2108

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

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

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

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

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

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

2169
        private Features(Map<String, Object> extraParams) {
×
UNCOV
2170
          this.extraParams = extraParams;
×
UNCOV
2171
        }
×
2172

2173
        public static Builder builder() {
UNCOV
2174
          return new Builder();
×
2175
        }
2176

UNCOV
2177
        public static class Builder {
×
2178
          private Map<String, Object> extraParams;
2179

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

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

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

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

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

2234
      /** The list of features enabled in the embedded component. */
2235
      @SerializedName("features")
2236
      Features features;
2237

UNCOV
2238
      private Documents(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
2239
        this.enabled = enabled;
×
UNCOV
2240
        this.extraParams = extraParams;
×
UNCOV
2241
        this.features = features;
×
UNCOV
2242
      }
×
2243

2244
      public static Builder builder() {
UNCOV
2245
        return new Builder();
×
2246
      }
2247

UNCOV
2248
      public static class Builder {
×
2249
        private Boolean enabled;
2250

2251
        private Map<String, Object> extraParams;
2252

2253
        private Features features;
2254

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

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

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

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

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

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

2315
        private Features(Map<String, Object> extraParams) {
×
UNCOV
2316
          this.extraParams = extraParams;
×
UNCOV
2317
        }
×
2318

2319
        public static Builder builder() {
UNCOV
2320
          return new Builder();
×
2321
        }
2322

UNCOV
2323
        public static class Builder {
×
2324
          private Map<String, Object> extraParams;
2325

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

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

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

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

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

2377
      /** The list of features enabled in the embedded component. */
2378
      @SerializedName("features")
2379
      Features features;
2380

2381
      private FinancialAccount(
UNCOV
2382
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
2383
        this.enabled = enabled;
×
UNCOV
2384
        this.extraParams = extraParams;
×
UNCOV
2385
        this.features = features;
×
UNCOV
2386
      }
×
2387

2388
      public static Builder builder() {
UNCOV
2389
        return new Builder();
×
2390
      }
2391

UNCOV
2392
      public static class Builder {
×
2393
        private Boolean enabled;
2394

2395
        private Map<String, Object> extraParams;
2396

2397
        private Features features;
2398

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

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

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

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

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

2447
      @Getter
2448
      public static class Features {
2449
        /**
2450
         * Disables Stripe user authentication for this embedded component. This value can only be
2451
         * true for accounts where {@code controller.requirement_collection} is {@code application}.
2452
         * The default value is the opposite of the {@code external_account_collection} value. For
2453
         * example, if you don’t set {@code external_account_collection}, it defaults to true and
2454
         * {@code disable_stripe_user_authentication} defaults to false.
2455
         */
2456
        @SerializedName("disable_stripe_user_authentication")
2457
        Boolean disableStripeUserAuthentication;
2458

2459
        /** Whether to allow external accounts to be linked for money transfer. */
2460
        @SerializedName("external_account_collection")
2461
        Boolean externalAccountCollection;
2462

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

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

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

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

2494
        public static Builder builder() {
UNCOV
2495
          return new Builder();
×
2496
        }
2497

UNCOV
2498
        public static class Builder {
×
2499
          private Boolean disableStripeUserAuthentication;
2500

2501
          private Boolean externalAccountCollection;
2502

2503
          private Map<String, Object> extraParams;
2504

2505
          private Boolean sendMoney;
2506

2507
          private Boolean transferBalance;
2508

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

2519
          /**
2520
           * Disables Stripe user authentication for this embedded component. This value can only be
2521
           * true for accounts where {@code controller.requirement_collection} is {@code
2522
           * application}. The default value is the opposite of the {@code
2523
           * external_account_collection} value. For example, if you don’t set {@code
2524
           * external_account_collection}, it defaults to true and {@code
2525
           * disable_stripe_user_authentication} defaults to false.
2526
           */
2527
          public Builder setDisableStripeUserAuthentication(
2528
              Boolean disableStripeUserAuthentication) {
UNCOV
2529
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
2530
            return this;
×
2531
          }
2532

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

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

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

2569
          /** Whether to allow sending money. */
2570
          public Builder setSendMoney(Boolean sendMoney) {
UNCOV
2571
            this.sendMoney = sendMoney;
×
UNCOV
2572
            return this;
×
2573
          }
2574

2575
          /** Whether to allow transferring balance. */
2576
          public Builder setTransferBalance(Boolean transferBalance) {
UNCOV
2577
            this.transferBalance = transferBalance;
×
2578
            return this;
×
2579
          }
2580
        }
2581
      }
2582
    }
2583

2584
    @Getter
2585
    public static class FinancialAccountTransactions {
2586
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2587
      @SerializedName("enabled")
2588
      Boolean enabled;
2589

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

2599
      /** The list of features enabled in the embedded component. */
2600
      @SerializedName("features")
2601
      Features features;
2602

2603
      private FinancialAccountTransactions(
UNCOV
2604
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
2605
        this.enabled = enabled;
×
UNCOV
2606
        this.extraParams = extraParams;
×
UNCOV
2607
        this.features = features;
×
UNCOV
2608
      }
×
2609

2610
      public static Builder builder() {
UNCOV
2611
        return new Builder();
×
2612
      }
2613

UNCOV
2614
      public static class Builder {
×
2615
        private Boolean enabled;
2616

2617
        private Map<String, Object> extraParams;
2618

2619
        private Features features;
2620

2621
        /** Finalize and obtain parameter instance from this builder. */
2622
        public AccountSessionCreateParams.Components.FinancialAccountTransactions build() {
2623
          return new AccountSessionCreateParams.Components.FinancialAccountTransactions(
×
2624
              this.enabled, this.extraParams, this.features);
2625
        }
2626

2627
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2628
        public Builder setEnabled(Boolean enabled) {
UNCOV
2629
          this.enabled = enabled;
×
2630
          return this;
×
2631
        }
2632

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

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

2663
        /** The list of features enabled in the embedded component. */
2664
        public Builder setFeatures(
2665
            AccountSessionCreateParams.Components.FinancialAccountTransactions.Features features) {
UNCOV
2666
          this.features = features;
×
UNCOV
2667
          return this;
×
2668
        }
2669
      }
2670

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

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

UNCOV
2687
        private Features(Boolean cardSpendDisputeManagement, Map<String, Object> extraParams) {
×
UNCOV
2688
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
UNCOV
2689
          this.extraParams = extraParams;
×
UNCOV
2690
        }
×
2691

2692
        public static Builder builder() {
UNCOV
2693
          return new Builder();
×
2694
        }
2695

UNCOV
2696
        public static class Builder {
×
2697
          private Boolean cardSpendDisputeManagement;
2698

2699
          private Map<String, Object> extraParams;
2700

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

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

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

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

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

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

2762
      /** The list of features enabled in the embedded component. */
2763
      @SerializedName("features")
2764
      Features features;
2765

UNCOV
2766
      private IssuingCard(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
2767
        this.enabled = enabled;
×
UNCOV
2768
        this.extraParams = extraParams;
×
UNCOV
2769
        this.features = features;
×
UNCOV
2770
      }
×
2771

2772
      public static Builder builder() {
UNCOV
2773
        return new Builder();
×
2774
      }
2775

UNCOV
2776
      public static class Builder {
×
2777
        private Boolean enabled;
2778

2779
        private Map<String, Object> extraParams;
2780

2781
        private Features features;
2782

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

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

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

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

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

2831
      @Getter
2832
      public static class Features {
2833
        /** Whether to allow card management features. */
2834
        @SerializedName("card_management")
2835
        Boolean cardManagement;
2836

2837
        /** Whether to allow card spend dispute management features. */
2838
        @SerializedName("card_spend_dispute_management")
2839
        Boolean cardSpendDisputeManagement;
2840

2841
        /** Whether to allow cardholder management features. */
2842
        @SerializedName("cardholder_management")
2843
        Boolean cardholderManagement;
2844

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

2855
        /** Whether to allow spend control management features. */
2856
        @SerializedName("spend_control_management")
2857
        Boolean spendControlManagement;
2858

2859
        private Features(
2860
            Boolean cardManagement,
2861
            Boolean cardSpendDisputeManagement,
2862
            Boolean cardholderManagement,
2863
            Map<String, Object> extraParams,
UNCOV
2864
            Boolean spendControlManagement) {
×
UNCOV
2865
          this.cardManagement = cardManagement;
×
UNCOV
2866
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
UNCOV
2867
          this.cardholderManagement = cardholderManagement;
×
UNCOV
2868
          this.extraParams = extraParams;
×
UNCOV
2869
          this.spendControlManagement = spendControlManagement;
×
UNCOV
2870
        }
×
2871

2872
        public static Builder builder() {
UNCOV
2873
          return new Builder();
×
2874
        }
2875

UNCOV
2876
        public static class Builder {
×
2877
          private Boolean cardManagement;
2878

2879
          private Boolean cardSpendDisputeManagement;
2880

2881
          private Boolean cardholderManagement;
2882

2883
          private Map<String, Object> extraParams;
2884

2885
          private Boolean spendControlManagement;
2886

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

2897
          /** Whether to allow card management features. */
2898
          public Builder setCardManagement(Boolean cardManagement) {
UNCOV
2899
            this.cardManagement = cardManagement;
×
UNCOV
2900
            return this;
×
2901
          }
2902

2903
          /** Whether to allow card spend dispute management features. */
2904
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
2905
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
UNCOV
2906
            return this;
×
2907
          }
2908

2909
          /** Whether to allow cardholder management features. */
2910
          public Builder setCardholderManagement(Boolean cardholderManagement) {
UNCOV
2911
            this.cardholderManagement = cardholderManagement;
×
UNCOV
2912
            return this;
×
2913
          }
2914

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

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

2943
          /** Whether to allow spend control management features. */
2944
          public Builder setSpendControlManagement(Boolean spendControlManagement) {
UNCOV
2945
            this.spendControlManagement = spendControlManagement;
×
UNCOV
2946
            return this;
×
2947
          }
2948
        }
2949
      }
2950
    }
2951

2952
    @Getter
2953
    public static class IssuingCardsList {
2954
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
2955
      @SerializedName("enabled")
2956
      Boolean enabled;
2957

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

2967
      /** The list of features enabled in the embedded component. */
2968
      @SerializedName("features")
2969
      Features features;
2970

2971
      private IssuingCardsList(
UNCOV
2972
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
2973
        this.enabled = enabled;
×
UNCOV
2974
        this.extraParams = extraParams;
×
UNCOV
2975
        this.features = features;
×
UNCOV
2976
      }
×
2977

2978
      public static Builder builder() {
UNCOV
2979
        return new Builder();
×
2980
      }
2981

UNCOV
2982
      public static class Builder {
×
2983
        private Boolean enabled;
2984

2985
        private Map<String, Object> extraParams;
2986

2987
        private Features features;
2988

2989
        /** Finalize and obtain parameter instance from this builder. */
2990
        public AccountSessionCreateParams.Components.IssuingCardsList build() {
2991
          return new AccountSessionCreateParams.Components.IssuingCardsList(
×
2992
              this.enabled, this.extraParams, this.features);
2993
        }
2994

2995
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
2996
        public Builder setEnabled(Boolean enabled) {
UNCOV
2997
          this.enabled = enabled;
×
2998
          return this;
×
2999
        }
3000

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

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

3029
        /** The list of features enabled in the embedded component. */
3030
        public Builder setFeatures(
3031
            AccountSessionCreateParams.Components.IssuingCardsList.Features features) {
UNCOV
3032
          this.features = features;
×
UNCOV
3033
          return this;
×
3034
        }
3035
      }
3036

3037
      @Getter
3038
      public static class Features {
3039
        /** Whether to allow card management features. */
3040
        @SerializedName("card_management")
3041
        Boolean cardManagement;
3042

3043
        /** Whether to allow card spend dispute management features. */
3044
        @SerializedName("card_spend_dispute_management")
3045
        Boolean cardSpendDisputeManagement;
3046

3047
        /** Whether to allow cardholder management features. */
3048
        @SerializedName("cardholder_management")
3049
        Boolean cardholderManagement;
3050

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

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

3069
        /** Whether to allow spend control management features. */
3070
        @SerializedName("spend_control_management")
3071
        Boolean spendControlManagement;
3072

3073
        private Features(
3074
            Boolean cardManagement,
3075
            Boolean cardSpendDisputeManagement,
3076
            Boolean cardholderManagement,
3077
            Boolean disableStripeUserAuthentication,
3078
            Map<String, Object> extraParams,
UNCOV
3079
            Boolean spendControlManagement) {
×
UNCOV
3080
          this.cardManagement = cardManagement;
×
UNCOV
3081
          this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
UNCOV
3082
          this.cardholderManagement = cardholderManagement;
×
UNCOV
3083
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
3084
          this.extraParams = extraParams;
×
UNCOV
3085
          this.spendControlManagement = spendControlManagement;
×
UNCOV
3086
        }
×
3087

3088
        public static Builder builder() {
UNCOV
3089
          return new Builder();
×
3090
        }
3091

UNCOV
3092
        public static class Builder {
×
3093
          private Boolean cardManagement;
3094

3095
          private Boolean cardSpendDisputeManagement;
3096

3097
          private Boolean cardholderManagement;
3098

3099
          private Boolean disableStripeUserAuthentication;
3100

3101
          private Map<String, Object> extraParams;
3102

3103
          private Boolean spendControlManagement;
3104

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

3116
          /** Whether to allow card management features. */
3117
          public Builder setCardManagement(Boolean cardManagement) {
UNCOV
3118
            this.cardManagement = cardManagement;
×
UNCOV
3119
            return this;
×
3120
          }
3121

3122
          /** Whether to allow card spend dispute management features. */
3123
          public Builder setCardSpendDisputeManagement(Boolean cardSpendDisputeManagement) {
UNCOV
3124
            this.cardSpendDisputeManagement = cardSpendDisputeManagement;
×
UNCOV
3125
            return this;
×
3126
          }
3127

3128
          /** Whether to allow cardholder management features. */
3129
          public Builder setCardholderManagement(Boolean cardholderManagement) {
UNCOV
3130
            this.cardholderManagement = cardholderManagement;
×
UNCOV
3131
            return this;
×
3132
          }
3133

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

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

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

3175
          /** Whether to allow spend control management features. */
3176
          public Builder setSpendControlManagement(Boolean spendControlManagement) {
UNCOV
3177
            this.spendControlManagement = spendControlManagement;
×
UNCOV
3178
            return this;
×
3179
          }
3180
        }
3181
      }
3182
    }
3183

3184
    @Getter
3185
    public static class NotificationBanner {
3186
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3187
      @SerializedName("enabled")
3188
      Boolean enabled;
3189

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

3199
      /** The list of features enabled in the embedded component. */
3200
      @SerializedName("features")
3201
      Features features;
3202

3203
      private NotificationBanner(
UNCOV
3204
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
3205
        this.enabled = enabled;
×
UNCOV
3206
        this.extraParams = extraParams;
×
UNCOV
3207
        this.features = features;
×
UNCOV
3208
      }
×
3209

3210
      public static Builder builder() {
UNCOV
3211
        return new Builder();
×
3212
      }
3213

UNCOV
3214
      public static class Builder {
×
3215
        private Boolean enabled;
3216

3217
        private Map<String, Object> extraParams;
3218

3219
        private Features features;
3220

3221
        /** Finalize and obtain parameter instance from this builder. */
3222
        public AccountSessionCreateParams.Components.NotificationBanner build() {
3223
          return new AccountSessionCreateParams.Components.NotificationBanner(
×
3224
              this.enabled, this.extraParams, this.features);
3225
        }
3226

3227
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3228
        public Builder setEnabled(Boolean enabled) {
UNCOV
3229
          this.enabled = enabled;
×
3230
          return this;
×
3231
        }
3232

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

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

3261
        /** The list of features enabled in the embedded component. */
3262
        public Builder setFeatures(
3263
            AccountSessionCreateParams.Components.NotificationBanner.Features features) {
UNCOV
3264
          this.features = features;
×
UNCOV
3265
          return this;
×
3266
        }
3267
      }
3268

3269
      @Getter
3270
      public static class Features {
3271
        /**
3272
         * Disables Stripe user authentication for this embedded component. This value can only be
3273
         * true for accounts where {@code controller.requirement_collection} is {@code application}.
3274
         * The default value is the opposite of the {@code external_account_collection} value. For
3275
         * example, if you don’t set {@code external_account_collection}, it defaults to true and
3276
         * {@code disable_stripe_user_authentication} defaults to false.
3277
         */
3278
        @SerializedName("disable_stripe_user_authentication")
3279
        Boolean disableStripeUserAuthentication;
3280

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

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

3301
        private Features(
3302
            Boolean disableStripeUserAuthentication,
3303
            Boolean externalAccountCollection,
UNCOV
3304
            Map<String, Object> extraParams) {
×
UNCOV
3305
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
3306
          this.externalAccountCollection = externalAccountCollection;
×
UNCOV
3307
          this.extraParams = extraParams;
×
UNCOV
3308
        }
×
3309

3310
        public static Builder builder() {
UNCOV
3311
          return new Builder();
×
3312
        }
3313

UNCOV
3314
        public static class Builder {
×
3315
          private Boolean disableStripeUserAuthentication;
3316

3317
          private Boolean externalAccountCollection;
3318

3319
          private Map<String, Object> extraParams;
3320

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

3329
          /**
3330
           * Disables Stripe user authentication for this embedded component. This value can only be
3331
           * true for accounts where {@code controller.requirement_collection} is {@code
3332
           * application}. The default value is the opposite of the {@code
3333
           * external_account_collection} value. For example, if you don’t set {@code
3334
           * external_account_collection}, it defaults to true and {@code
3335
           * disable_stripe_user_authentication} defaults to false.
3336
           */
3337
          public Builder setDisableStripeUserAuthentication(
3338
              Boolean disableStripeUserAuthentication) {
3339
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
3340
            return this;
×
3341
          }
3342

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

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

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

3388
    @Getter
3389
    public static class PaymentDetails {
3390
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3391
      @SerializedName("enabled")
3392
      Boolean enabled;
3393

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

3403
      /** The list of features enabled in the embedded component. */
3404
      @SerializedName("features")
3405
      Features features;
3406

UNCOV
3407
      private PaymentDetails(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
3408
        this.enabled = enabled;
×
UNCOV
3409
        this.extraParams = extraParams;
×
UNCOV
3410
        this.features = features;
×
UNCOV
3411
      }
×
3412

3413
      public static Builder builder() {
UNCOV
3414
        return new Builder();
×
3415
      }
3416

UNCOV
3417
      public static class Builder {
×
3418
        private Boolean enabled;
3419

3420
        private Map<String, Object> extraParams;
3421

3422
        private Features features;
3423

3424
        /** Finalize and obtain parameter instance from this builder. */
3425
        public AccountSessionCreateParams.Components.PaymentDetails build() {
3426
          return new AccountSessionCreateParams.Components.PaymentDetails(
×
3427
              this.enabled, this.extraParams, this.features);
3428
        }
3429

3430
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3431
        public Builder setEnabled(Boolean enabled) {
UNCOV
3432
          this.enabled = enabled;
×
3433
          return this;
×
3434
        }
3435

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

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

3464
        /** The list of features enabled in the embedded component. */
3465
        public Builder setFeatures(
3466
            AccountSessionCreateParams.Components.PaymentDetails.Features features) {
UNCOV
3467
          this.features = features;
×
UNCOV
3468
          return this;
×
3469
        }
3470
      }
3471

3472
      @Getter
3473
      public static class Features {
3474
        /**
3475
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3476
         * default.
3477
         */
3478
        @SerializedName("capture_payments")
3479
        Boolean capturePayments;
3480

3481
        /**
3482
         * Whether to allow connected accounts to manage destination charges that are created on
3483
         * behalf of them. This is {@code false} by default.
3484
         */
3485
        @SerializedName("destination_on_behalf_of_charge_management")
3486
        Boolean destinationOnBehalfOfChargeManagement;
3487

3488
        /**
3489
         * Whether to allow responding to disputes, including submitting evidence and accepting
3490
         * disputes. This is {@code true} by default.
3491
         */
3492
        @SerializedName("dispute_management")
3493
        Boolean disputeManagement;
3494

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

3505
        /** Whether to allow sending refunds. This is {@code true} by default. */
3506
        @SerializedName("refund_management")
3507
        Boolean refundManagement;
3508

3509
        private Features(
3510
            Boolean capturePayments,
3511
            Boolean destinationOnBehalfOfChargeManagement,
3512
            Boolean disputeManagement,
3513
            Map<String, Object> extraParams,
UNCOV
3514
            Boolean refundManagement) {
×
UNCOV
3515
          this.capturePayments = capturePayments;
×
UNCOV
3516
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
UNCOV
3517
          this.disputeManagement = disputeManagement;
×
UNCOV
3518
          this.extraParams = extraParams;
×
UNCOV
3519
          this.refundManagement = refundManagement;
×
UNCOV
3520
        }
×
3521

3522
        public static Builder builder() {
UNCOV
3523
          return new Builder();
×
3524
        }
3525

UNCOV
3526
        public static class Builder {
×
3527
          private Boolean capturePayments;
3528

3529
          private Boolean destinationOnBehalfOfChargeManagement;
3530

3531
          private Boolean disputeManagement;
3532

3533
          private Map<String, Object> extraParams;
3534

3535
          private Boolean refundManagement;
3536

3537
          /** Finalize and obtain parameter instance from this builder. */
3538
          public AccountSessionCreateParams.Components.PaymentDetails.Features build() {
3539
            return new AccountSessionCreateParams.Components.PaymentDetails.Features(
×
3540
                this.capturePayments,
3541
                this.destinationOnBehalfOfChargeManagement,
3542
                this.disputeManagement,
3543
                this.extraParams,
3544
                this.refundManagement);
3545
          }
3546

3547
          /**
3548
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3549
           * default.
3550
           */
3551
          public Builder setCapturePayments(Boolean capturePayments) {
UNCOV
3552
            this.capturePayments = capturePayments;
×
UNCOV
3553
            return this;
×
3554
          }
3555

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

3566
          /**
3567
           * Whether to allow responding to disputes, including submitting evidence and accepting
3568
           * disputes. This is {@code true} by default.
3569
           */
3570
          public Builder setDisputeManagement(Boolean disputeManagement) {
UNCOV
3571
            this.disputeManagement = disputeManagement;
×
UNCOV
3572
            return this;
×
3573
          }
3574

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

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

3605
          /** Whether to allow sending refunds. This is {@code true} by default. */
3606
          public Builder setRefundManagement(Boolean refundManagement) {
UNCOV
3607
            this.refundManagement = refundManagement;
×
UNCOV
3608
            return this;
×
3609
          }
3610
        }
3611
      }
3612
    }
3613

3614
    @Getter
3615
    public static class PaymentMethodSettings {
3616
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3617
      @SerializedName("enabled")
3618
      Boolean enabled;
3619

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

3629
      /** The list of features enabled in the embedded component. */
3630
      @SerializedName("features")
3631
      Features features;
3632

3633
      private PaymentMethodSettings(
UNCOV
3634
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
3635
        this.enabled = enabled;
×
UNCOV
3636
        this.extraParams = extraParams;
×
UNCOV
3637
        this.features = features;
×
UNCOV
3638
      }
×
3639

3640
      public static Builder builder() {
UNCOV
3641
        return new Builder();
×
3642
      }
3643

UNCOV
3644
      public static class Builder {
×
3645
        private Boolean enabled;
3646

3647
        private Map<String, Object> extraParams;
3648

3649
        private Features features;
3650

3651
        /** Finalize and obtain parameter instance from this builder. */
3652
        public AccountSessionCreateParams.Components.PaymentMethodSettings build() {
3653
          return new AccountSessionCreateParams.Components.PaymentMethodSettings(
×
3654
              this.enabled, this.extraParams, this.features);
3655
        }
3656

3657
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3658
        public Builder setEnabled(Boolean enabled) {
UNCOV
3659
          this.enabled = enabled;
×
3660
          return this;
×
3661
        }
3662

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

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

3691
        /** The list of features enabled in the embedded component. */
3692
        public Builder setFeatures(
3693
            AccountSessionCreateParams.Components.PaymentMethodSettings.Features features) {
UNCOV
3694
          this.features = features;
×
UNCOV
3695
          return this;
×
3696
        }
3697
      }
3698

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

3711
        private Features(Map<String, Object> extraParams) {
×
UNCOV
3712
          this.extraParams = extraParams;
×
UNCOV
3713
        }
×
3714

3715
        public static Builder builder() {
UNCOV
3716
          return new Builder();
×
3717
        }
3718

UNCOV
3719
        public static class Builder {
×
3720
          private Map<String, Object> extraParams;
3721

3722
          /** Finalize and obtain parameter instance from this builder. */
3723
          public AccountSessionCreateParams.Components.PaymentMethodSettings.Features build() {
UNCOV
3724
            return new AccountSessionCreateParams.Components.PaymentMethodSettings.Features(
×
3725
                this.extraParams);
3726
          }
3727

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

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

3761
    @Getter
3762
    public static class Payments {
3763
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3764
      @SerializedName("enabled")
3765
      Boolean enabled;
3766

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

3776
      /** The list of features enabled in the embedded component. */
3777
      @SerializedName("features")
3778
      Features features;
3779

UNCOV
3780
      private Payments(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
3781
        this.enabled = enabled;
×
UNCOV
3782
        this.extraParams = extraParams;
×
UNCOV
3783
        this.features = features;
×
UNCOV
3784
      }
×
3785

3786
      public static Builder builder() {
UNCOV
3787
        return new Builder();
×
3788
      }
3789

UNCOV
3790
      public static class Builder {
×
3791
        private Boolean enabled;
3792

3793
        private Map<String, Object> extraParams;
3794

3795
        private Features features;
3796

3797
        /** Finalize and obtain parameter instance from this builder. */
3798
        public AccountSessionCreateParams.Components.Payments build() {
3799
          return new AccountSessionCreateParams.Components.Payments(
×
3800
              this.enabled, this.extraParams, this.features);
3801
        }
3802

3803
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
3804
        public Builder setEnabled(Boolean enabled) {
UNCOV
3805
          this.enabled = enabled;
×
3806
          return this;
×
3807
        }
3808

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

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

3837
        /** The list of features enabled in the embedded component. */
3838
        public Builder setFeatures(
3839
            AccountSessionCreateParams.Components.Payments.Features features) {
UNCOV
3840
          this.features = features;
×
UNCOV
3841
          return this;
×
3842
        }
3843
      }
3844

3845
      @Getter
3846
      public static class Features {
3847
        /**
3848
         * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3849
         * default.
3850
         */
3851
        @SerializedName("capture_payments")
3852
        Boolean capturePayments;
3853

3854
        /**
3855
         * Whether to allow connected accounts to manage destination charges that are created on
3856
         * behalf of them. This is {@code false} by default.
3857
         */
3858
        @SerializedName("destination_on_behalf_of_charge_management")
3859
        Boolean destinationOnBehalfOfChargeManagement;
3860

3861
        /**
3862
         * Whether to allow responding to disputes, including submitting evidence and accepting
3863
         * disputes. This is {@code true} by default.
3864
         */
3865
        @SerializedName("dispute_management")
3866
        Boolean disputeManagement;
3867

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

3878
        /** Whether to allow sending refunds. This is {@code true} by default. */
3879
        @SerializedName("refund_management")
3880
        Boolean refundManagement;
3881

3882
        private Features(
3883
            Boolean capturePayments,
3884
            Boolean destinationOnBehalfOfChargeManagement,
3885
            Boolean disputeManagement,
3886
            Map<String, Object> extraParams,
UNCOV
3887
            Boolean refundManagement) {
×
UNCOV
3888
          this.capturePayments = capturePayments;
×
UNCOV
3889
          this.destinationOnBehalfOfChargeManagement = destinationOnBehalfOfChargeManagement;
×
UNCOV
3890
          this.disputeManagement = disputeManagement;
×
UNCOV
3891
          this.extraParams = extraParams;
×
UNCOV
3892
          this.refundManagement = refundManagement;
×
UNCOV
3893
        }
×
3894

3895
        public static Builder builder() {
UNCOV
3896
          return new Builder();
×
3897
        }
3898

UNCOV
3899
        public static class Builder {
×
3900
          private Boolean capturePayments;
3901

3902
          private Boolean destinationOnBehalfOfChargeManagement;
3903

3904
          private Boolean disputeManagement;
3905

3906
          private Map<String, Object> extraParams;
3907

3908
          private Boolean refundManagement;
3909

3910
          /** Finalize and obtain parameter instance from this builder. */
3911
          public AccountSessionCreateParams.Components.Payments.Features build() {
3912
            return new AccountSessionCreateParams.Components.Payments.Features(
×
3913
                this.capturePayments,
3914
                this.destinationOnBehalfOfChargeManagement,
3915
                this.disputeManagement,
3916
                this.extraParams,
3917
                this.refundManagement);
3918
          }
3919

3920
          /**
3921
           * Whether to allow capturing and cancelling payment intents. This is {@code true} by
3922
           * default.
3923
           */
3924
          public Builder setCapturePayments(Boolean capturePayments) {
UNCOV
3925
            this.capturePayments = capturePayments;
×
UNCOV
3926
            return this;
×
3927
          }
3928

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

3939
          /**
3940
           * Whether to allow responding to disputes, including submitting evidence and accepting
3941
           * disputes. This is {@code true} by default.
3942
           */
3943
          public Builder setDisputeManagement(Boolean disputeManagement) {
UNCOV
3944
            this.disputeManagement = disputeManagement;
×
UNCOV
3945
            return this;
×
3946
          }
3947

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

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

3976
          /** Whether to allow sending refunds. This is {@code true} by default. */
3977
          public Builder setRefundManagement(Boolean refundManagement) {
UNCOV
3978
            this.refundManagement = refundManagement;
×
UNCOV
3979
            return this;
×
3980
          }
3981
        }
3982
      }
3983
    }
3984

3985
    @Getter
3986
    public static class Payouts {
3987
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
3988
      @SerializedName("enabled")
3989
      Boolean enabled;
3990

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

4000
      /** The list of features enabled in the embedded component. */
4001
      @SerializedName("features")
4002
      Features features;
4003

UNCOV
4004
      private Payouts(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
4005
        this.enabled = enabled;
×
UNCOV
4006
        this.extraParams = extraParams;
×
UNCOV
4007
        this.features = features;
×
UNCOV
4008
      }
×
4009

4010
      public static Builder builder() {
UNCOV
4011
        return new Builder();
×
4012
      }
4013

UNCOV
4014
      public static class Builder {
×
4015
        private Boolean enabled;
4016

4017
        private Map<String, Object> extraParams;
4018

4019
        private Features features;
4020

4021
        /** Finalize and obtain parameter instance from this builder. */
4022
        public AccountSessionCreateParams.Components.Payouts build() {
4023
          return new AccountSessionCreateParams.Components.Payouts(
×
4024
              this.enabled, this.extraParams, this.features);
4025
        }
4026

4027
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4028
        public Builder setEnabled(Boolean enabled) {
UNCOV
4029
          this.enabled = enabled;
×
4030
          return this;
×
4031
        }
4032

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

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

4061
        /** The list of features enabled in the embedded component. */
4062
        public Builder setFeatures(
4063
            AccountSessionCreateParams.Components.Payouts.Features features) {
UNCOV
4064
          this.features = features;
×
UNCOV
4065
          return this;
×
4066
        }
4067
      }
4068

4069
      @Getter
4070
      public static class Features {
4071
        /**
4072
         * Disables Stripe user authentication for this embedded component. This value can only be
4073
         * true for accounts where {@code controller.requirement_collection} is {@code application}.
4074
         * The default value is the opposite of the {@code external_account_collection} value. For
4075
         * example, if you don’t set {@code external_account_collection}, it defaults to true and
4076
         * {@code disable_stripe_user_authentication} defaults to false.
4077
         */
4078
        @SerializedName("disable_stripe_user_authentication")
4079
        Boolean disableStripeUserAuthentication;
4080

4081
        /**
4082
         * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4083
         * Loss Liability, default {@code false} otherwise.
4084
         */
4085
        @SerializedName("edit_payout_schedule")
4086
        Boolean editPayoutSchedule;
4087

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

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

4108
        /**
4109
         * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns Loss
4110
         * Liability, default {@code false} otherwise.
4111
         */
4112
        @SerializedName("instant_payouts")
4113
        Boolean instantPayouts;
4114

4115
        /**
4116
         * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns Loss
4117
         * Liability, default {@code false} otherwise.
4118
         */
4119
        @SerializedName("standard_payouts")
4120
        Boolean standardPayouts;
4121

4122
        private Features(
4123
            Boolean disableStripeUserAuthentication,
4124
            Boolean editPayoutSchedule,
4125
            Boolean externalAccountCollection,
4126
            Map<String, Object> extraParams,
4127
            Boolean instantPayouts,
UNCOV
4128
            Boolean standardPayouts) {
×
UNCOV
4129
          this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
4130
          this.editPayoutSchedule = editPayoutSchedule;
×
UNCOV
4131
          this.externalAccountCollection = externalAccountCollection;
×
UNCOV
4132
          this.extraParams = extraParams;
×
UNCOV
4133
          this.instantPayouts = instantPayouts;
×
UNCOV
4134
          this.standardPayouts = standardPayouts;
×
UNCOV
4135
        }
×
4136

4137
        public static Builder builder() {
UNCOV
4138
          return new Builder();
×
4139
        }
4140

UNCOV
4141
        public static class Builder {
×
4142
          private Boolean disableStripeUserAuthentication;
4143

4144
          private Boolean editPayoutSchedule;
4145

4146
          private Boolean externalAccountCollection;
4147

4148
          private Map<String, Object> extraParams;
4149

4150
          private Boolean instantPayouts;
4151

4152
          private Boolean standardPayouts;
4153

4154
          /** Finalize and obtain parameter instance from this builder. */
4155
          public AccountSessionCreateParams.Components.Payouts.Features build() {
UNCOV
4156
            return new AccountSessionCreateParams.Components.Payouts.Features(
×
4157
                this.disableStripeUserAuthentication,
4158
                this.editPayoutSchedule,
4159
                this.externalAccountCollection,
4160
                this.extraParams,
4161
                this.instantPayouts,
4162
                this.standardPayouts);
4163
          }
4164

4165
          /**
4166
           * Disables Stripe user authentication for this embedded component. This value can only be
4167
           * true for accounts where {@code controller.requirement_collection} is {@code
4168
           * application}. The default value is the opposite of the {@code
4169
           * external_account_collection} value. For example, if you don’t set {@code
4170
           * external_account_collection}, it defaults to true and {@code
4171
           * disable_stripe_user_authentication} defaults to false.
4172
           */
4173
          public Builder setDisableStripeUserAuthentication(
4174
              Boolean disableStripeUserAuthentication) {
UNCOV
4175
            this.disableStripeUserAuthentication = disableStripeUserAuthentication;
×
UNCOV
4176
            return this;
×
4177
          }
4178

4179
          /**
4180
           * Whether to allow payout schedule to be changed. Default {@code true} when Stripe owns
4181
           * Loss Liability, default {@code false} otherwise.
4182
           */
4183
          public Builder setEditPayoutSchedule(Boolean editPayoutSchedule) {
UNCOV
4184
            this.editPayoutSchedule = editPayoutSchedule;
×
UNCOV
4185
            return this;
×
4186
          }
4187

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

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

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

4228
          /**
4229
           * Whether to allow creation of instant payouts. Default {@code true} when Stripe owns
4230
           * Loss Liability, default {@code false} otherwise.
4231
           */
4232
          public Builder setInstantPayouts(Boolean instantPayouts) {
UNCOV
4233
            this.instantPayouts = instantPayouts;
×
UNCOV
4234
            return this;
×
4235
          }
4236

4237
          /**
4238
           * Whether to allow creation of standard payouts. Default {@code true} when Stripe owns
4239
           * Loss Liability, default {@code false} otherwise.
4240
           */
4241
          public Builder setStandardPayouts(Boolean standardPayouts) {
UNCOV
4242
            this.standardPayouts = standardPayouts;
×
UNCOV
4243
            return this;
×
4244
          }
4245
        }
4246
      }
4247
    }
4248

4249
    @Getter
4250
    public static class PayoutsList {
4251
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4252
      @SerializedName("enabled")
4253
      Boolean enabled;
4254

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

4264
      /** The list of features enabled in the embedded component. */
4265
      @SerializedName("features")
4266
      Features features;
4267

UNCOV
4268
      private PayoutsList(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
4269
        this.enabled = enabled;
×
UNCOV
4270
        this.extraParams = extraParams;
×
UNCOV
4271
        this.features = features;
×
UNCOV
4272
      }
×
4273

4274
      public static Builder builder() {
UNCOV
4275
        return new Builder();
×
4276
      }
4277

UNCOV
4278
      public static class Builder {
×
4279
        private Boolean enabled;
4280

4281
        private Map<String, Object> extraParams;
4282

4283
        private Features features;
4284

4285
        /** Finalize and obtain parameter instance from this builder. */
4286
        public AccountSessionCreateParams.Components.PayoutsList build() {
4287
          return new AccountSessionCreateParams.Components.PayoutsList(
×
4288
              this.enabled, this.extraParams, this.features);
4289
        }
4290

4291
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4292
        public Builder setEnabled(Boolean enabled) {
UNCOV
4293
          this.enabled = enabled;
×
4294
          return this;
×
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 AccountSessionCreateParams.Components.PayoutsList#extraParams} for the
4301
         * field documentation.
4302
         */
4303
        public Builder putExtraParam(String key, Object value) {
UNCOV
4304
          if (this.extraParams == null) {
×
UNCOV
4305
            this.extraParams = new HashMap<>();
×
4306
          }
UNCOV
4307
          this.extraParams.put(key, value);
×
UNCOV
4308
          return this;
×
4309
        }
4310

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

4325
        /** The list of features enabled in the embedded component. */
4326
        public Builder setFeatures(
4327
            AccountSessionCreateParams.Components.PayoutsList.Features features) {
UNCOV
4328
          this.features = features;
×
UNCOV
4329
          return this;
×
4330
        }
4331
      }
4332

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

4345
        private Features(Map<String, Object> extraParams) {
×
UNCOV
4346
          this.extraParams = extraParams;
×
UNCOV
4347
        }
×
4348

4349
        public static Builder builder() {
UNCOV
4350
          return new Builder();
×
4351
        }
4352

UNCOV
4353
        public static class Builder {
×
4354
          private Map<String, Object> extraParams;
4355

4356
          /** Finalize and obtain parameter instance from this builder. */
4357
          public AccountSessionCreateParams.Components.PayoutsList.Features build() {
UNCOV
4358
            return new AccountSessionCreateParams.Components.PayoutsList.Features(this.extraParams);
×
4359
          }
4360

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

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

4392
    @Getter
4393
    public static class Recipients {
4394
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4395
      @SerializedName("enabled")
4396
      Boolean enabled;
4397

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

4407
      @SerializedName("features")
4408
      Features features;
4409

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

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

UNCOV
4420
      public static class Builder {
×
4421
        private Boolean enabled;
4422

4423
        private Map<String, Object> extraParams;
4424

4425
        private Features features;
4426

4427
        /** Finalize and obtain parameter instance from this builder. */
4428
        public AccountSessionCreateParams.Components.Recipients build() {
4429
          return new AccountSessionCreateParams.Components.Recipients(
×
4430
              this.enabled, this.extraParams, this.features);
4431
        }
4432

4433
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4434
        public Builder setEnabled(Boolean enabled) {
UNCOV
4435
          this.enabled = enabled;
×
4436
          return this;
×
4437
        }
4438

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

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

4467
        public Builder setFeatures(
4468
            AccountSessionCreateParams.Components.Recipients.Features features) {
UNCOV
4469
          this.features = features;
×
UNCOV
4470
          return this;
×
4471
        }
4472
      }
4473

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

4486
        /** Whether to allow sending money. */
4487
        @SerializedName("send_money")
4488
        Boolean sendMoney;
4489

UNCOV
4490
        private Features(Map<String, Object> extraParams, Boolean sendMoney) {
×
UNCOV
4491
          this.extraParams = extraParams;
×
UNCOV
4492
          this.sendMoney = sendMoney;
×
UNCOV
4493
        }
×
4494

4495
        public static Builder builder() {
UNCOV
4496
          return new Builder();
×
4497
        }
4498

UNCOV
4499
        public static class Builder {
×
4500
          private Map<String, Object> extraParams;
4501

4502
          private Boolean sendMoney;
4503

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

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

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

4538
          /** Whether to allow sending money. */
4539
          public Builder setSendMoney(Boolean sendMoney) {
UNCOV
4540
            this.sendMoney = sendMoney;
×
UNCOV
4541
            return this;
×
4542
          }
4543
        }
4544
      }
4545
    }
4546

4547
    @Getter
4548
    public static class ReportingChart {
4549
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4550
      @SerializedName("enabled")
4551
      Boolean enabled;
4552

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

4562
      /** The list of features enabled in the embedded component. */
4563
      @SerializedName("features")
4564
      Features features;
4565

UNCOV
4566
      private ReportingChart(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
4567
        this.enabled = enabled;
×
UNCOV
4568
        this.extraParams = extraParams;
×
UNCOV
4569
        this.features = features;
×
UNCOV
4570
      }
×
4571

4572
      public static Builder builder() {
UNCOV
4573
        return new Builder();
×
4574
      }
4575

UNCOV
4576
      public static class Builder {
×
4577
        private Boolean enabled;
4578

4579
        private Map<String, Object> extraParams;
4580

4581
        private Features features;
4582

4583
        /** Finalize and obtain parameter instance from this builder. */
4584
        public AccountSessionCreateParams.Components.ReportingChart build() {
4585
          return new AccountSessionCreateParams.Components.ReportingChart(
×
4586
              this.enabled, this.extraParams, this.features);
4587
        }
4588

4589
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4590
        public Builder setEnabled(Boolean enabled) {
UNCOV
4591
          this.enabled = enabled;
×
4592
          return this;
×
4593
        }
4594

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

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

4623
        /** The list of features enabled in the embedded component. */
4624
        public Builder setFeatures(
4625
            AccountSessionCreateParams.Components.ReportingChart.Features features) {
UNCOV
4626
          this.features = features;
×
UNCOV
4627
          return this;
×
4628
        }
4629
      }
4630

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

4643
        private Features(Map<String, Object> extraParams) {
×
UNCOV
4644
          this.extraParams = extraParams;
×
UNCOV
4645
        }
×
4646

4647
        public static Builder builder() {
UNCOV
4648
          return new Builder();
×
4649
        }
4650

UNCOV
4651
        public static class Builder {
×
4652
          private Map<String, Object> extraParams;
4653

4654
          /** Finalize and obtain parameter instance from this builder. */
4655
          public AccountSessionCreateParams.Components.ReportingChart.Features build() {
UNCOV
4656
            return new AccountSessionCreateParams.Components.ReportingChart.Features(
×
4657
                this.extraParams);
4658
          }
4659

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

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

4693
    @Getter
4694
    public static class TaxRegistrations {
4695
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4696
      @SerializedName("enabled")
4697
      Boolean enabled;
4698

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

4708
      /** The list of features enabled in the embedded component. */
4709
      @SerializedName("features")
4710
      Features features;
4711

4712
      private TaxRegistrations(
UNCOV
4713
          Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
4714
        this.enabled = enabled;
×
UNCOV
4715
        this.extraParams = extraParams;
×
UNCOV
4716
        this.features = features;
×
UNCOV
4717
      }
×
4718

4719
      public static Builder builder() {
UNCOV
4720
        return new Builder();
×
4721
      }
4722

UNCOV
4723
      public static class Builder {
×
4724
        private Boolean enabled;
4725

4726
        private Map<String, Object> extraParams;
4727

4728
        private Features features;
4729

4730
        /** Finalize and obtain parameter instance from this builder. */
4731
        public AccountSessionCreateParams.Components.TaxRegistrations build() {
4732
          return new AccountSessionCreateParams.Components.TaxRegistrations(
×
4733
              this.enabled, this.extraParams, this.features);
4734
        }
4735

4736
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4737
        public Builder setEnabled(Boolean enabled) {
UNCOV
4738
          this.enabled = enabled;
×
4739
          return this;
×
4740
        }
4741

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

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

4770
        /** The list of features enabled in the embedded component. */
4771
        public Builder setFeatures(
4772
            AccountSessionCreateParams.Components.TaxRegistrations.Features features) {
UNCOV
4773
          this.features = features;
×
UNCOV
4774
          return this;
×
4775
        }
4776
      }
4777

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

4790
        private Features(Map<String, Object> extraParams) {
×
UNCOV
4791
          this.extraParams = extraParams;
×
UNCOV
4792
        }
×
4793

4794
        public static Builder builder() {
UNCOV
4795
          return new Builder();
×
4796
        }
4797

UNCOV
4798
        public static class Builder {
×
4799
          private Map<String, Object> extraParams;
4800

4801
          /** Finalize and obtain parameter instance from this builder. */
4802
          public AccountSessionCreateParams.Components.TaxRegistrations.Features build() {
UNCOV
4803
            return new AccountSessionCreateParams.Components.TaxRegistrations.Features(
×
4804
                this.extraParams);
4805
          }
4806

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

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

4840
    @Getter
4841
    public static class TaxSettings {
4842
      /** <strong>Required.</strong> Whether the embedded component is enabled. */
4843
      @SerializedName("enabled")
4844
      Boolean enabled;
4845

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

4855
      /** The list of features enabled in the embedded component. */
4856
      @SerializedName("features")
4857
      Features features;
4858

UNCOV
4859
      private TaxSettings(Boolean enabled, Map<String, Object> extraParams, Features features) {
×
UNCOV
4860
        this.enabled = enabled;
×
UNCOV
4861
        this.extraParams = extraParams;
×
UNCOV
4862
        this.features = features;
×
UNCOV
4863
      }
×
4864

4865
      public static Builder builder() {
UNCOV
4866
        return new Builder();
×
4867
      }
4868

UNCOV
4869
      public static class Builder {
×
4870
        private Boolean enabled;
4871

4872
        private Map<String, Object> extraParams;
4873

4874
        private Features features;
4875

4876
        /** Finalize and obtain parameter instance from this builder. */
4877
        public AccountSessionCreateParams.Components.TaxSettings build() {
4878
          return new AccountSessionCreateParams.Components.TaxSettings(
×
4879
              this.enabled, this.extraParams, this.features);
4880
        }
4881

4882
        /** <strong>Required.</strong> Whether the embedded component is enabled. */
4883
        public Builder setEnabled(Boolean enabled) {
UNCOV
4884
          this.enabled = enabled;
×
4885
          return this;
×
4886
        }
4887

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

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

4916
        /** The list of features enabled in the embedded component. */
4917
        public Builder setFeatures(
4918
            AccountSessionCreateParams.Components.TaxSettings.Features features) {
UNCOV
4919
          this.features = features;
×
UNCOV
4920
          return this;
×
4921
        }
4922
      }
4923

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

4936
        private Features(Map<String, Object> extraParams) {
×
UNCOV
4937
          this.extraParams = extraParams;
×
UNCOV
4938
        }
×
4939

4940
        public static Builder builder() {
UNCOV
4941
          return new Builder();
×
4942
        }
4943

UNCOV
4944
        public static class Builder {
×
4945
          private Map<String, Object> extraParams;
4946

4947
          /** Finalize and obtain parameter instance from this builder. */
4948
          public AccountSessionCreateParams.Components.TaxSettings.Features build() {
UNCOV
4949
            return new AccountSessionCreateParams.Components.TaxSettings.Features(this.extraParams);
×
4950
          }
4951

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

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

© 2025 Coveralls, Inc