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

stripe / stripe-java / #16562

18 Oct 2024 07:00PM UTC coverage: 12.614% (-0.1%) from 12.74%
#16562

push

github

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

Update generated code for beta

49 of 1978 new or added lines in 47 files covered. (2.48%)

68 existing lines in 20 files now uncovered.

18798 of 149026 relevant lines covered (12.61%)

0.13 hits per line

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

4.32
/src/main/java/com/stripe/param/treasury/FinancialAccountUpdateParams.java
1
// File generated from our OpenAPI spec
2
package com.stripe.param.treasury;
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 FinancialAccountUpdateParams extends ApiRequestParams {
15
  /**
16
   * The display name for the FinancialAccount. Use this field to customize the names of the
17
   * FinancialAccounts for your connected accounts. Unlike the {@code nickname} field, {@code
18
   * display_name} is not internal metadata and will be exposed to connected accounts.
19
   */
20
  @SerializedName("display_name")
21
  Object displayName;
22

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

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

36
  /**
37
   * Encodes whether a FinancialAccount has access to a particular feature, with a status enum and
38
   * associated {@code status_details}. Stripe or the platform may control features via the
39
   * requested field.
40
   */
41
  @SerializedName("features")
42
  Features features;
43

44
  /**
45
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
46
   * to an object. This can be useful for storing additional information about the object in a
47
   * structured format. Individual keys can be unset by posting an empty value to them. All keys can
48
   * be unset by posting an empty value to {@code metadata}.
49
   */
50
  @SerializedName("metadata")
51
  Map<String, String> metadata;
52

53
  /** The set of functionalities that the platform can restrict on the FinancialAccount. */
54
  @SerializedName("platform_restrictions")
55
  PlatformRestrictions platformRestrictions;
56

57
  private FinancialAccountUpdateParams(
58
      Object displayName,
59
      List<String> expand,
60
      Map<String, Object> extraParams,
61
      Features features,
62
      Map<String, String> metadata,
63
      PlatformRestrictions platformRestrictions) {
1✔
64
    this.displayName = displayName;
1✔
65
    this.expand = expand;
1✔
66
    this.extraParams = extraParams;
1✔
67
    this.features = features;
1✔
68
    this.metadata = metadata;
1✔
69
    this.platformRestrictions = platformRestrictions;
1✔
70
  }
1✔
71

72
  public static Builder builder() {
73
    return new Builder();
1✔
74
  }
75

76
  public static class Builder {
1✔
77
    private Object displayName;
78

79
    private List<String> expand;
80

81
    private Map<String, Object> extraParams;
82

83
    private Features features;
84

85
    private Map<String, String> metadata;
86

87
    private PlatformRestrictions platformRestrictions;
88

89
    /** Finalize and obtain parameter instance from this builder. */
90
    public FinancialAccountUpdateParams build() {
91
      return new FinancialAccountUpdateParams(
1✔
92
          this.displayName,
93
          this.expand,
94
          this.extraParams,
95
          this.features,
96
          this.metadata,
97
          this.platformRestrictions);
98
    }
99

100
    /**
101
     * The display name for the FinancialAccount. Use this field to customize the names of the
102
     * FinancialAccounts for your connected accounts. Unlike the {@code nickname} field, {@code
103
     * display_name} is not internal metadata and will be exposed to connected accounts.
104
     */
105
    public Builder setDisplayName(String displayName) {
106
      this.displayName = displayName;
×
107
      return this;
×
108
    }
109

110
    /**
111
     * The display name for the FinancialAccount. Use this field to customize the names of the
112
     * FinancialAccounts for your connected accounts. Unlike the {@code nickname} field, {@code
113
     * display_name} is not internal metadata and will be exposed to connected accounts.
114
     */
115
    public Builder setDisplayName(EmptyParam displayName) {
116
      this.displayName = displayName;
×
117
      return this;
×
118
    }
119

120
    /**
121
     * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and
122
     * subsequent calls adds additional elements to the original list. See {@link
123
     * FinancialAccountUpdateParams#expand} for the field documentation.
124
     */
125
    public Builder addExpand(String element) {
126
      if (this.expand == null) {
×
127
        this.expand = new ArrayList<>();
×
128
      }
129
      this.expand.add(element);
×
130
      return this;
×
131
    }
132

133
    /**
134
     * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and
135
     * subsequent calls adds additional elements to the original list. See {@link
136
     * FinancialAccountUpdateParams#expand} for the field documentation.
137
     */
138
    public Builder addAllExpand(List<String> elements) {
139
      if (this.expand == null) {
×
140
        this.expand = new ArrayList<>();
×
141
      }
142
      this.expand.addAll(elements);
×
143
      return this;
×
144
    }
145

146
    /**
147
     * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
148
     * call, and subsequent calls add additional key/value pairs to the original map. See {@link
149
     * FinancialAccountUpdateParams#extraParams} for the field documentation.
150
     */
151
    public Builder putExtraParam(String key, Object value) {
152
      if (this.extraParams == null) {
×
153
        this.extraParams = new HashMap<>();
×
154
      }
155
      this.extraParams.put(key, value);
×
156
      return this;
×
157
    }
158

159
    /**
160
     * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
161
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
162
     * See {@link FinancialAccountUpdateParams#extraParams} for the field documentation.
163
     */
164
    public Builder putAllExtraParam(Map<String, Object> map) {
165
      if (this.extraParams == null) {
×
166
        this.extraParams = new HashMap<>();
×
167
      }
168
      this.extraParams.putAll(map);
×
169
      return this;
×
170
    }
171

172
    /**
173
     * Encodes whether a FinancialAccount has access to a particular feature, with a status enum and
174
     * associated {@code status_details}. Stripe or the platform may control features via the
175
     * requested field.
176
     */
177
    public Builder setFeatures(FinancialAccountUpdateParams.Features features) {
178
      this.features = features;
×
179
      return this;
×
180
    }
181

182
    /**
183
     * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call,
184
     * and subsequent calls add additional key/value pairs to the original map. See {@link
185
     * FinancialAccountUpdateParams#metadata} for the field documentation.
186
     */
187
    public Builder putMetadata(String key, String value) {
188
      if (this.metadata == null) {
1✔
189
        this.metadata = new HashMap<>();
1✔
190
      }
191
      this.metadata.put(key, value);
1✔
192
      return this;
1✔
193
    }
194

195
    /**
196
     * Add all map key/value pairs to `metadata` map. A map is initialized for the first
197
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
198
     * See {@link FinancialAccountUpdateParams#metadata} for the field documentation.
199
     */
200
    public Builder putAllMetadata(Map<String, String> map) {
201
      if (this.metadata == null) {
×
202
        this.metadata = new HashMap<>();
×
203
      }
204
      this.metadata.putAll(map);
×
205
      return this;
×
206
    }
207

208
    /** The set of functionalities that the platform can restrict on the FinancialAccount. */
209
    public Builder setPlatformRestrictions(
210
        FinancialAccountUpdateParams.PlatformRestrictions platformRestrictions) {
211
      this.platformRestrictions = platformRestrictions;
×
212
      return this;
×
213
    }
214
  }
215

216
  @Getter
217
  public static class Features {
218
    /**
219
     * Encodes the FinancialAccount's ability to be used with the Issuing product, including
220
     * attaching cards to and drawing funds from the FinancialAccount.
221
     */
222
    @SerializedName("card_issuing")
223
    CardIssuing cardIssuing;
224

225
    /**
226
     * Represents whether this FinancialAccount is eligible for deposit insurance. Various factors
227
     * determine the insurance amount.
228
     */
229
    @SerializedName("deposit_insurance")
230
    DepositInsurance depositInsurance;
231

232
    /**
233
     * Map of extra parameters for custom features not available in this client library. The content
234
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
235
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
236
     * param object. Effectively, this map is flattened to its parent instance.
237
     */
238
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
239
    Map<String, Object> extraParams;
240

241
    /** Contains Features that add FinancialAddresses to the FinancialAccount. */
242
    @SerializedName("financial_addresses")
243
    FinancialAddresses financialAddresses;
244

245
    /**
246
     * Contains settings related to adding funds to a FinancialAccount from another Account with the
247
     * same owner.
248
     */
249
    @SerializedName("inbound_transfers")
250
    InboundTransfers inboundTransfers;
251

252
    /**
253
     * Represents the ability for the FinancialAccount to send money to, or receive money from other
254
     * FinancialAccounts (for example, via OutboundPayment).
255
     */
256
    @SerializedName("intra_stripe_flows")
257
    IntraStripeFlows intraStripeFlows;
258

259
    /**
260
     * Includes Features related to initiating money movement out of the FinancialAccount to someone
261
     * else's bucket of money.
262
     */
263
    @SerializedName("outbound_payments")
264
    OutboundPayments outboundPayments;
265

266
    /**
267
     * Contains a Feature and settings related to moving money out of the FinancialAccount into
268
     * another Account with the same owner.
269
     */
270
    @SerializedName("outbound_transfers")
271
    OutboundTransfers outboundTransfers;
272

273
    private Features(
274
        CardIssuing cardIssuing,
275
        DepositInsurance depositInsurance,
276
        Map<String, Object> extraParams,
277
        FinancialAddresses financialAddresses,
278
        InboundTransfers inboundTransfers,
279
        IntraStripeFlows intraStripeFlows,
280
        OutboundPayments outboundPayments,
281
        OutboundTransfers outboundTransfers) {
×
282
      this.cardIssuing = cardIssuing;
×
283
      this.depositInsurance = depositInsurance;
×
284
      this.extraParams = extraParams;
×
285
      this.financialAddresses = financialAddresses;
×
286
      this.inboundTransfers = inboundTransfers;
×
287
      this.intraStripeFlows = intraStripeFlows;
×
288
      this.outboundPayments = outboundPayments;
×
289
      this.outboundTransfers = outboundTransfers;
×
290
    }
×
291

292
    public static Builder builder() {
293
      return new Builder();
×
294
    }
295

296
    public static class Builder {
×
297
      private CardIssuing cardIssuing;
298

299
      private DepositInsurance depositInsurance;
300

301
      private Map<String, Object> extraParams;
302

303
      private FinancialAddresses financialAddresses;
304

305
      private InboundTransfers inboundTransfers;
306

307
      private IntraStripeFlows intraStripeFlows;
308

309
      private OutboundPayments outboundPayments;
310

311
      private OutboundTransfers outboundTransfers;
312

313
      /** Finalize and obtain parameter instance from this builder. */
314
      public FinancialAccountUpdateParams.Features build() {
315
        return new FinancialAccountUpdateParams.Features(
×
316
            this.cardIssuing,
317
            this.depositInsurance,
318
            this.extraParams,
319
            this.financialAddresses,
320
            this.inboundTransfers,
321
            this.intraStripeFlows,
322
            this.outboundPayments,
323
            this.outboundTransfers);
324
      }
325

326
      /**
327
       * Encodes the FinancialAccount's ability to be used with the Issuing product, including
328
       * attaching cards to and drawing funds from the FinancialAccount.
329
       */
330
      public Builder setCardIssuing(FinancialAccountUpdateParams.Features.CardIssuing cardIssuing) {
331
        this.cardIssuing = cardIssuing;
×
332
        return this;
×
333
      }
334

335
      /**
336
       * Represents whether this FinancialAccount is eligible for deposit insurance. Various factors
337
       * determine the insurance amount.
338
       */
339
      public Builder setDepositInsurance(
340
          FinancialAccountUpdateParams.Features.DepositInsurance depositInsurance) {
341
        this.depositInsurance = depositInsurance;
×
342
        return this;
×
343
      }
344

345
      /**
346
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
347
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
348
       * FinancialAccountUpdateParams.Features#extraParams} for the field documentation.
349
       */
350
      public Builder putExtraParam(String key, Object value) {
351
        if (this.extraParams == null) {
×
352
          this.extraParams = new HashMap<>();
×
353
        }
354
        this.extraParams.put(key, value);
×
355
        return this;
×
356
      }
357

358
      /**
359
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
360
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
361
       * See {@link FinancialAccountUpdateParams.Features#extraParams} for the field documentation.
362
       */
363
      public Builder putAllExtraParam(Map<String, Object> map) {
364
        if (this.extraParams == null) {
×
365
          this.extraParams = new HashMap<>();
×
366
        }
367
        this.extraParams.putAll(map);
×
368
        return this;
×
369
      }
370

371
      /** Contains Features that add FinancialAddresses to the FinancialAccount. */
372
      public Builder setFinancialAddresses(
373
          FinancialAccountUpdateParams.Features.FinancialAddresses financialAddresses) {
374
        this.financialAddresses = financialAddresses;
×
375
        return this;
×
376
      }
377

378
      /**
379
       * Contains settings related to adding funds to a FinancialAccount from another Account with
380
       * the same owner.
381
       */
382
      public Builder setInboundTransfers(
383
          FinancialAccountUpdateParams.Features.InboundTransfers inboundTransfers) {
384
        this.inboundTransfers = inboundTransfers;
×
385
        return this;
×
386
      }
387

388
      /**
389
       * Represents the ability for the FinancialAccount to send money to, or receive money from
390
       * other FinancialAccounts (for example, via OutboundPayment).
391
       */
392
      public Builder setIntraStripeFlows(
393
          FinancialAccountUpdateParams.Features.IntraStripeFlows intraStripeFlows) {
394
        this.intraStripeFlows = intraStripeFlows;
×
395
        return this;
×
396
      }
397

398
      /**
399
       * Includes Features related to initiating money movement out of the FinancialAccount to
400
       * someone else's bucket of money.
401
       */
402
      public Builder setOutboundPayments(
403
          FinancialAccountUpdateParams.Features.OutboundPayments outboundPayments) {
404
        this.outboundPayments = outboundPayments;
×
405
        return this;
×
406
      }
407

408
      /**
409
       * Contains a Feature and settings related to moving money out of the FinancialAccount into
410
       * another Account with the same owner.
411
       */
412
      public Builder setOutboundTransfers(
413
          FinancialAccountUpdateParams.Features.OutboundTransfers outboundTransfers) {
414
        this.outboundTransfers = outboundTransfers;
×
415
        return this;
×
416
      }
417
    }
418

419
    @Getter
420
    public static class CardIssuing {
421
      /**
422
       * Map of extra parameters for custom features not available in this client library. The
423
       * content in this map is not serialized under this field's {@code @SerializedName} value.
424
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
425
       * name in this param object. Effectively, this map is flattened to its parent instance.
426
       */
427
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
428
      Map<String, Object> extraParams;
429

430
      /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
431
      @SerializedName("requested")
432
      Boolean requested;
433

434
      private CardIssuing(Map<String, Object> extraParams, Boolean requested) {
×
435
        this.extraParams = extraParams;
×
436
        this.requested = requested;
×
437
      }
×
438

439
      public static Builder builder() {
440
        return new Builder();
×
441
      }
442

443
      public static class Builder {
×
444
        private Map<String, Object> extraParams;
445

446
        private Boolean requested;
447

448
        /** Finalize and obtain parameter instance from this builder. */
449
        public FinancialAccountUpdateParams.Features.CardIssuing build() {
450
          return new FinancialAccountUpdateParams.Features.CardIssuing(
×
451
              this.extraParams, this.requested);
452
        }
453

454
        /**
455
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
456
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
457
         * map. See {@link FinancialAccountUpdateParams.Features.CardIssuing#extraParams} for the
458
         * field documentation.
459
         */
460
        public Builder putExtraParam(String key, Object value) {
461
          if (this.extraParams == null) {
×
462
            this.extraParams = new HashMap<>();
×
463
          }
464
          this.extraParams.put(key, value);
×
465
          return this;
×
466
        }
467

468
        /**
469
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
470
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
471
         * map. See {@link FinancialAccountUpdateParams.Features.CardIssuing#extraParams} for the
472
         * field documentation.
473
         */
474
        public Builder putAllExtraParam(Map<String, Object> map) {
475
          if (this.extraParams == null) {
×
476
            this.extraParams = new HashMap<>();
×
477
          }
478
          this.extraParams.putAll(map);
×
479
          return this;
×
480
        }
481

482
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
483
        public Builder setRequested(Boolean requested) {
484
          this.requested = requested;
×
485
          return this;
×
486
        }
487
      }
488
    }
489

490
    @Getter
491
    public static class DepositInsurance {
492
      /**
493
       * Map of extra parameters for custom features not available in this client library. The
494
       * content in this map is not serialized under this field's {@code @SerializedName} value.
495
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
496
       * name in this param object. Effectively, this map is flattened to its parent instance.
497
       */
498
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
499
      Map<String, Object> extraParams;
500

501
      /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
502
      @SerializedName("requested")
503
      Boolean requested;
504

505
      private DepositInsurance(Map<String, Object> extraParams, Boolean requested) {
×
506
        this.extraParams = extraParams;
×
507
        this.requested = requested;
×
508
      }
×
509

510
      public static Builder builder() {
511
        return new Builder();
×
512
      }
513

514
      public static class Builder {
×
515
        private Map<String, Object> extraParams;
516

517
        private Boolean requested;
518

519
        /** Finalize and obtain parameter instance from this builder. */
520
        public FinancialAccountUpdateParams.Features.DepositInsurance build() {
521
          return new FinancialAccountUpdateParams.Features.DepositInsurance(
×
522
              this.extraParams, this.requested);
523
        }
524

525
        /**
526
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
527
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
528
         * map. See {@link FinancialAccountUpdateParams.Features.DepositInsurance#extraParams} for
529
         * the field documentation.
530
         */
531
        public Builder putExtraParam(String key, Object value) {
532
          if (this.extraParams == null) {
×
533
            this.extraParams = new HashMap<>();
×
534
          }
535
          this.extraParams.put(key, value);
×
536
          return this;
×
537
        }
538

539
        /**
540
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
541
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
542
         * map. See {@link FinancialAccountUpdateParams.Features.DepositInsurance#extraParams} for
543
         * the field documentation.
544
         */
545
        public Builder putAllExtraParam(Map<String, Object> map) {
546
          if (this.extraParams == null) {
×
547
            this.extraParams = new HashMap<>();
×
548
          }
549
          this.extraParams.putAll(map);
×
550
          return this;
×
551
        }
552

553
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
554
        public Builder setRequested(Boolean requested) {
555
          this.requested = requested;
×
556
          return this;
×
557
        }
558
      }
559
    }
560

561
    @Getter
562
    public static class FinancialAddresses {
563
      /** Adds an ABA FinancialAddress to the FinancialAccount. */
564
      @SerializedName("aba")
565
      Aba aba;
566

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

576
      private FinancialAddresses(Aba aba, Map<String, Object> extraParams) {
×
577
        this.aba = aba;
×
578
        this.extraParams = extraParams;
×
579
      }
×
580

581
      public static Builder builder() {
582
        return new Builder();
×
583
      }
584

585
      public static class Builder {
×
586
        private Aba aba;
587

588
        private Map<String, Object> extraParams;
589

590
        /** Finalize and obtain parameter instance from this builder. */
591
        public FinancialAccountUpdateParams.Features.FinancialAddresses build() {
592
          return new FinancialAccountUpdateParams.Features.FinancialAddresses(
×
593
              this.aba, this.extraParams);
594
        }
595

596
        /** Adds an ABA FinancialAddress to the FinancialAccount. */
597
        public Builder setAba(FinancialAccountUpdateParams.Features.FinancialAddresses.Aba aba) {
598
          this.aba = aba;
×
599
          return this;
×
600
        }
601

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

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

631
      @Getter
632
      public static class Aba {
633
        /** Requested bank partner. */
634
        @SerializedName("bank")
635
        Bank bank;
636

637
        /**
638
         * Map of extra parameters for custom features not available in this client library. The
639
         * content in this map is not serialized under this field's {@code @SerializedName} value.
640
         * Instead, each key/value pair is serialized as if the key is a root-level field
641
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
642
         * instance.
643
         */
644
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
645
        Map<String, Object> extraParams;
646

647
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
648
        @SerializedName("requested")
649
        Boolean requested;
650

NEW
651
        private Aba(Bank bank, Map<String, Object> extraParams, Boolean requested) {
×
NEW
652
          this.bank = bank;
×
653
          this.extraParams = extraParams;
×
654
          this.requested = requested;
×
655
        }
×
656

657
        public static Builder builder() {
658
          return new Builder();
×
659
        }
660

661
        public static class Builder {
×
662
          private Bank bank;
663

664
          private Map<String, Object> extraParams;
665

666
          private Boolean requested;
667

668
          /** Finalize and obtain parameter instance from this builder. */
669
          public FinancialAccountUpdateParams.Features.FinancialAddresses.Aba build() {
670
            return new FinancialAccountUpdateParams.Features.FinancialAddresses.Aba(
×
671
                this.bank, this.extraParams, this.requested);
672
          }
673

674
          /** Requested bank partner. */
675
          public Builder setBank(
676
              FinancialAccountUpdateParams.Features.FinancialAddresses.Aba.Bank bank) {
NEW
677
            this.bank = bank;
×
NEW
678
            return this;
×
679
          }
680

681
          /**
682
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
683
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
684
           * map. See {@link
685
           * FinancialAccountUpdateParams.Features.FinancialAddresses.Aba#extraParams} for the field
686
           * documentation.
687
           */
688
          public Builder putExtraParam(String key, Object value) {
689
            if (this.extraParams == null) {
×
690
              this.extraParams = new HashMap<>();
×
691
            }
692
            this.extraParams.put(key, value);
×
693
            return this;
×
694
          }
695

696
          /**
697
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
698
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
699
           * map. See {@link
700
           * FinancialAccountUpdateParams.Features.FinancialAddresses.Aba#extraParams} for the field
701
           * documentation.
702
           */
703
          public Builder putAllExtraParam(Map<String, Object> map) {
704
            if (this.extraParams == null) {
×
705
              this.extraParams = new HashMap<>();
×
706
            }
707
            this.extraParams.putAll(map);
×
708
            return this;
×
709
          }
710

711
          /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
712
          public Builder setRequested(Boolean requested) {
713
            this.requested = requested;
×
714
            return this;
×
715
          }
716
        }
717

NEW
718
        public enum Bank implements ApiRequestParams.EnumParam {
×
NEW
719
          @SerializedName("evolve")
×
720
          EVOLVE("evolve"),
721

NEW
722
          @SerializedName("fifth_third")
×
723
          FIFTH_THIRD("fifth_third"),
724

NEW
725
          @SerializedName("goldman_sachs")
×
726
          GOLDMAN_SACHS("goldman_sachs");
727

728
          @Getter(onMethod_ = {@Override})
729
          private final String value;
730

NEW
731
          Bank(String value) {
×
NEW
732
            this.value = value;
×
NEW
733
          }
×
734
        }
735
      }
736
    }
737

738
    @Getter
739
    public static class InboundTransfers {
740
      /** Enables ACH Debits via the InboundTransfers API. */
741
      @SerializedName("ach")
742
      Ach ach;
743

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

753
      private InboundTransfers(Ach ach, Map<String, Object> extraParams) {
×
754
        this.ach = ach;
×
755
        this.extraParams = extraParams;
×
756
      }
×
757

758
      public static Builder builder() {
759
        return new Builder();
×
760
      }
761

762
      public static class Builder {
×
763
        private Ach ach;
764

765
        private Map<String, Object> extraParams;
766

767
        /** Finalize and obtain parameter instance from this builder. */
768
        public FinancialAccountUpdateParams.Features.InboundTransfers build() {
769
          return new FinancialAccountUpdateParams.Features.InboundTransfers(
×
770
              this.ach, this.extraParams);
771
        }
772

773
        /** Enables ACH Debits via the InboundTransfers API. */
774
        public Builder setAch(FinancialAccountUpdateParams.Features.InboundTransfers.Ach ach) {
775
          this.ach = ach;
×
776
          return this;
×
777
        }
778

779
        /**
780
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
781
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
782
         * map. See {@link FinancialAccountUpdateParams.Features.InboundTransfers#extraParams} for
783
         * the field documentation.
784
         */
785
        public Builder putExtraParam(String key, Object value) {
786
          if (this.extraParams == null) {
×
787
            this.extraParams = new HashMap<>();
×
788
          }
789
          this.extraParams.put(key, value);
×
790
          return this;
×
791
        }
792

793
        /**
794
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
795
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
796
         * map. See {@link FinancialAccountUpdateParams.Features.InboundTransfers#extraParams} for
797
         * the field documentation.
798
         */
799
        public Builder putAllExtraParam(Map<String, Object> map) {
800
          if (this.extraParams == null) {
×
801
            this.extraParams = new HashMap<>();
×
802
          }
803
          this.extraParams.putAll(map);
×
804
          return this;
×
805
        }
806
      }
807

808
      @Getter
809
      public static class Ach {
810
        /**
811
         * Map of extra parameters for custom features not available in this client library. The
812
         * content in this map is not serialized under this field's {@code @SerializedName} value.
813
         * Instead, each key/value pair is serialized as if the key is a root-level field
814
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
815
         * instance.
816
         */
817
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
818
        Map<String, Object> extraParams;
819

820
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
821
        @SerializedName("requested")
822
        Boolean requested;
823

824
        private Ach(Map<String, Object> extraParams, Boolean requested) {
×
825
          this.extraParams = extraParams;
×
826
          this.requested = requested;
×
827
        }
×
828

829
        public static Builder builder() {
830
          return new Builder();
×
831
        }
832

833
        public static class Builder {
×
834
          private Map<String, Object> extraParams;
835

836
          private Boolean requested;
837

838
          /** Finalize and obtain parameter instance from this builder. */
839
          public FinancialAccountUpdateParams.Features.InboundTransfers.Ach build() {
840
            return new FinancialAccountUpdateParams.Features.InboundTransfers.Ach(
×
841
                this.extraParams, this.requested);
842
          }
843

844
          /**
845
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
846
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
847
           * map. See {@link FinancialAccountUpdateParams.Features.InboundTransfers.Ach#extraParams}
848
           * for the field documentation.
849
           */
850
          public Builder putExtraParam(String key, Object value) {
851
            if (this.extraParams == null) {
×
852
              this.extraParams = new HashMap<>();
×
853
            }
854
            this.extraParams.put(key, value);
×
855
            return this;
×
856
          }
857

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

872
          /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
873
          public Builder setRequested(Boolean requested) {
874
            this.requested = requested;
×
875
            return this;
×
876
          }
877
        }
878
      }
879
    }
880

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

892
      /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
893
      @SerializedName("requested")
894
      Boolean requested;
895

896
      private IntraStripeFlows(Map<String, Object> extraParams, Boolean requested) {
×
897
        this.extraParams = extraParams;
×
898
        this.requested = requested;
×
899
      }
×
900

901
      public static Builder builder() {
902
        return new Builder();
×
903
      }
904

905
      public static class Builder {
×
906
        private Map<String, Object> extraParams;
907

908
        private Boolean requested;
909

910
        /** Finalize and obtain parameter instance from this builder. */
911
        public FinancialAccountUpdateParams.Features.IntraStripeFlows build() {
912
          return new FinancialAccountUpdateParams.Features.IntraStripeFlows(
×
913
              this.extraParams, this.requested);
914
        }
915

916
        /**
917
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
918
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
919
         * map. See {@link FinancialAccountUpdateParams.Features.IntraStripeFlows#extraParams} for
920
         * the field documentation.
921
         */
922
        public Builder putExtraParam(String key, Object value) {
923
          if (this.extraParams == null) {
×
924
            this.extraParams = new HashMap<>();
×
925
          }
926
          this.extraParams.put(key, value);
×
927
          return this;
×
928
        }
929

930
        /**
931
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
932
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
933
         * map. See {@link FinancialAccountUpdateParams.Features.IntraStripeFlows#extraParams} for
934
         * the field documentation.
935
         */
936
        public Builder putAllExtraParam(Map<String, Object> map) {
937
          if (this.extraParams == null) {
×
938
            this.extraParams = new HashMap<>();
×
939
          }
940
          this.extraParams.putAll(map);
×
941
          return this;
×
942
        }
943

944
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
945
        public Builder setRequested(Boolean requested) {
946
          this.requested = requested;
×
947
          return this;
×
948
        }
949
      }
950
    }
951

952
    @Getter
953
    public static class OutboundPayments {
954
      /** Enables ACH transfers via the OutboundPayments API. */
955
      @SerializedName("ach")
956
      Ach ach;
957

958
      /**
959
       * Map of extra parameters for custom features not available in this client library. The
960
       * content in this map is not serialized under this field's {@code @SerializedName} value.
961
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
962
       * name in this param object. Effectively, this map is flattened to its parent instance.
963
       */
964
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
965
      Map<String, Object> extraParams;
966

967
      /** Enables US domestic wire transfers via the OutboundPayments API. */
968
      @SerializedName("us_domestic_wire")
969
      UsDomesticWire usDomesticWire;
970

971
      private OutboundPayments(
972
          Ach ach, Map<String, Object> extraParams, UsDomesticWire usDomesticWire) {
×
973
        this.ach = ach;
×
974
        this.extraParams = extraParams;
×
975
        this.usDomesticWire = usDomesticWire;
×
976
      }
×
977

978
      public static Builder builder() {
979
        return new Builder();
×
980
      }
981

982
      public static class Builder {
×
983
        private Ach ach;
984

985
        private Map<String, Object> extraParams;
986

987
        private UsDomesticWire usDomesticWire;
988

989
        /** Finalize and obtain parameter instance from this builder. */
990
        public FinancialAccountUpdateParams.Features.OutboundPayments build() {
991
          return new FinancialAccountUpdateParams.Features.OutboundPayments(
×
992
              this.ach, this.extraParams, this.usDomesticWire);
993
        }
994

995
        /** Enables ACH transfers via the OutboundPayments API. */
996
        public Builder setAch(FinancialAccountUpdateParams.Features.OutboundPayments.Ach ach) {
997
          this.ach = ach;
×
998
          return this;
×
999
        }
1000

1001
        /**
1002
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1003
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1004
         * map. See {@link FinancialAccountUpdateParams.Features.OutboundPayments#extraParams} for
1005
         * the field documentation.
1006
         */
1007
        public Builder putExtraParam(String key, Object value) {
1008
          if (this.extraParams == null) {
×
1009
            this.extraParams = new HashMap<>();
×
1010
          }
1011
          this.extraParams.put(key, value);
×
1012
          return this;
×
1013
        }
1014

1015
        /**
1016
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1017
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1018
         * map. See {@link FinancialAccountUpdateParams.Features.OutboundPayments#extraParams} for
1019
         * the field documentation.
1020
         */
1021
        public Builder putAllExtraParam(Map<String, Object> map) {
1022
          if (this.extraParams == null) {
×
1023
            this.extraParams = new HashMap<>();
×
1024
          }
1025
          this.extraParams.putAll(map);
×
1026
          return this;
×
1027
        }
1028

1029
        /** Enables US domestic wire transfers via the OutboundPayments API. */
1030
        public Builder setUsDomesticWire(
1031
            FinancialAccountUpdateParams.Features.OutboundPayments.UsDomesticWire usDomesticWire) {
1032
          this.usDomesticWire = usDomesticWire;
×
1033
          return this;
×
1034
        }
1035
      }
1036

1037
      @Getter
1038
      public static class Ach {
1039
        /**
1040
         * Map of extra parameters for custom features not available in this client library. The
1041
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1042
         * Instead, each key/value pair is serialized as if the key is a root-level field
1043
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1044
         * instance.
1045
         */
1046
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1047
        Map<String, Object> extraParams;
1048

1049
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1050
        @SerializedName("requested")
1051
        Boolean requested;
1052

1053
        private Ach(Map<String, Object> extraParams, Boolean requested) {
×
1054
          this.extraParams = extraParams;
×
1055
          this.requested = requested;
×
1056
        }
×
1057

1058
        public static Builder builder() {
1059
          return new Builder();
×
1060
        }
1061

1062
        public static class Builder {
×
1063
          private Map<String, Object> extraParams;
1064

1065
          private Boolean requested;
1066

1067
          /** Finalize and obtain parameter instance from this builder. */
1068
          public FinancialAccountUpdateParams.Features.OutboundPayments.Ach build() {
1069
            return new FinancialAccountUpdateParams.Features.OutboundPayments.Ach(
×
1070
                this.extraParams, this.requested);
1071
          }
1072

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

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

1101
          /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1102
          public Builder setRequested(Boolean requested) {
1103
            this.requested = requested;
×
1104
            return this;
×
1105
          }
1106
        }
1107
      }
1108

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

1121
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1122
        @SerializedName("requested")
1123
        Boolean requested;
1124

1125
        private UsDomesticWire(Map<String, Object> extraParams, Boolean requested) {
×
1126
          this.extraParams = extraParams;
×
1127
          this.requested = requested;
×
1128
        }
×
1129

1130
        public static Builder builder() {
1131
          return new Builder();
×
1132
        }
1133

1134
        public static class Builder {
×
1135
          private Map<String, Object> extraParams;
1136

1137
          private Boolean requested;
1138

1139
          /** Finalize and obtain parameter instance from this builder. */
1140
          public FinancialAccountUpdateParams.Features.OutboundPayments.UsDomesticWire build() {
1141
            return new FinancialAccountUpdateParams.Features.OutboundPayments.UsDomesticWire(
×
1142
                this.extraParams, this.requested);
1143
          }
1144

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

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

1175
          /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1176
          public Builder setRequested(Boolean requested) {
1177
            this.requested = requested;
×
1178
            return this;
×
1179
          }
1180
        }
1181
      }
1182
    }
1183

1184
    @Getter
1185
    public static class OutboundTransfers {
1186
      /** Enables ACH transfers via the OutboundTransfers API. */
1187
      @SerializedName("ach")
1188
      Ach ach;
1189

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

1199
      /** Enables US domestic wire transfers via the OutboundTransfers API. */
1200
      @SerializedName("us_domestic_wire")
1201
      UsDomesticWire usDomesticWire;
1202

1203
      private OutboundTransfers(
1204
          Ach ach, Map<String, Object> extraParams, UsDomesticWire usDomesticWire) {
×
1205
        this.ach = ach;
×
1206
        this.extraParams = extraParams;
×
1207
        this.usDomesticWire = usDomesticWire;
×
1208
      }
×
1209

1210
      public static Builder builder() {
1211
        return new Builder();
×
1212
      }
1213

1214
      public static class Builder {
×
1215
        private Ach ach;
1216

1217
        private Map<String, Object> extraParams;
1218

1219
        private UsDomesticWire usDomesticWire;
1220

1221
        /** Finalize and obtain parameter instance from this builder. */
1222
        public FinancialAccountUpdateParams.Features.OutboundTransfers build() {
1223
          return new FinancialAccountUpdateParams.Features.OutboundTransfers(
×
1224
              this.ach, this.extraParams, this.usDomesticWire);
1225
        }
1226

1227
        /** Enables ACH transfers via the OutboundTransfers API. */
1228
        public Builder setAch(FinancialAccountUpdateParams.Features.OutboundTransfers.Ach ach) {
1229
          this.ach = ach;
×
1230
          return this;
×
1231
        }
1232

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

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

1261
        /** Enables US domestic wire transfers via the OutboundTransfers API. */
1262
        public Builder setUsDomesticWire(
1263
            FinancialAccountUpdateParams.Features.OutboundTransfers.UsDomesticWire usDomesticWire) {
1264
          this.usDomesticWire = usDomesticWire;
×
1265
          return this;
×
1266
        }
1267
      }
1268

1269
      @Getter
1270
      public static class Ach {
1271
        /**
1272
         * Map of extra parameters for custom features not available in this client library. The
1273
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1274
         * Instead, each key/value pair is serialized as if the key is a root-level field
1275
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1276
         * instance.
1277
         */
1278
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1279
        Map<String, Object> extraParams;
1280

1281
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1282
        @SerializedName("requested")
1283
        Boolean requested;
1284

1285
        private Ach(Map<String, Object> extraParams, Boolean requested) {
×
1286
          this.extraParams = extraParams;
×
1287
          this.requested = requested;
×
1288
        }
×
1289

1290
        public static Builder builder() {
1291
          return new Builder();
×
1292
        }
1293

1294
        public static class Builder {
×
1295
          private Map<String, Object> extraParams;
1296

1297
          private Boolean requested;
1298

1299
          /** Finalize and obtain parameter instance from this builder. */
1300
          public FinancialAccountUpdateParams.Features.OutboundTransfers.Ach build() {
1301
            return new FinancialAccountUpdateParams.Features.OutboundTransfers.Ach(
×
1302
                this.extraParams, this.requested);
1303
          }
1304

1305
          /**
1306
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1307
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1308
           * map. See {@link
1309
           * FinancialAccountUpdateParams.Features.OutboundTransfers.Ach#extraParams} for the field
1310
           * documentation.
1311
           */
1312
          public Builder putExtraParam(String key, Object value) {
1313
            if (this.extraParams == null) {
×
1314
              this.extraParams = new HashMap<>();
×
1315
            }
1316
            this.extraParams.put(key, value);
×
1317
            return this;
×
1318
          }
1319

1320
          /**
1321
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1322
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1323
           * map. See {@link
1324
           * FinancialAccountUpdateParams.Features.OutboundTransfers.Ach#extraParams} for the field
1325
           * documentation.
1326
           */
1327
          public Builder putAllExtraParam(Map<String, Object> map) {
1328
            if (this.extraParams == null) {
×
1329
              this.extraParams = new HashMap<>();
×
1330
            }
1331
            this.extraParams.putAll(map);
×
1332
            return this;
×
1333
          }
1334

1335
          /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1336
          public Builder setRequested(Boolean requested) {
1337
            this.requested = requested;
×
1338
            return this;
×
1339
          }
1340
        }
1341
      }
1342

1343
      @Getter
1344
      public static class UsDomesticWire {
1345
        /**
1346
         * Map of extra parameters for custom features not available in this client library. The
1347
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1348
         * Instead, each key/value pair is serialized as if the key is a root-level field
1349
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1350
         * instance.
1351
         */
1352
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1353
        Map<String, Object> extraParams;
1354

1355
        /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1356
        @SerializedName("requested")
1357
        Boolean requested;
1358

1359
        private UsDomesticWire(Map<String, Object> extraParams, Boolean requested) {
×
1360
          this.extraParams = extraParams;
×
1361
          this.requested = requested;
×
1362
        }
×
1363

1364
        public static Builder builder() {
1365
          return new Builder();
×
1366
        }
1367

1368
        public static class Builder {
×
1369
          private Map<String, Object> extraParams;
1370

1371
          private Boolean requested;
1372

1373
          /** Finalize and obtain parameter instance from this builder. */
1374
          public FinancialAccountUpdateParams.Features.OutboundTransfers.UsDomesticWire build() {
1375
            return new FinancialAccountUpdateParams.Features.OutboundTransfers.UsDomesticWire(
×
1376
                this.extraParams, this.requested);
1377
          }
1378

1379
          /**
1380
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1381
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1382
           * map. See {@link
1383
           * FinancialAccountUpdateParams.Features.OutboundTransfers.UsDomesticWire#extraParams} for
1384
           * the field documentation.
1385
           */
1386
          public Builder putExtraParam(String key, Object value) {
1387
            if (this.extraParams == null) {
×
1388
              this.extraParams = new HashMap<>();
×
1389
            }
1390
            this.extraParams.put(key, value);
×
1391
            return this;
×
1392
          }
1393

1394
          /**
1395
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1396
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1397
           * map. See {@link
1398
           * FinancialAccountUpdateParams.Features.OutboundTransfers.UsDomesticWire#extraParams} for
1399
           * the field documentation.
1400
           */
1401
          public Builder putAllExtraParam(Map<String, Object> map) {
1402
            if (this.extraParams == null) {
×
1403
              this.extraParams = new HashMap<>();
×
1404
            }
1405
            this.extraParams.putAll(map);
×
1406
            return this;
×
1407
          }
1408

1409
          /** <strong>Required.</strong> Whether the FinancialAccount should have the Feature. */
1410
          public Builder setRequested(Boolean requested) {
1411
            this.requested = requested;
×
1412
            return this;
×
1413
          }
1414
        }
1415
      }
1416
    }
1417
  }
1418

1419
  @Getter
1420
  public static class PlatformRestrictions {
1421
    /**
1422
     * Map of extra parameters for custom features not available in this client library. The content
1423
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
1424
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
1425
     * param object. Effectively, this map is flattened to its parent instance.
1426
     */
1427
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1428
    Map<String, Object> extraParams;
1429

1430
    /** Restricts all inbound money movement. */
1431
    @SerializedName("inbound_flows")
1432
    InboundFlows inboundFlows;
1433

1434
    /** Restricts all outbound money movement. */
1435
    @SerializedName("outbound_flows")
1436
    OutboundFlows outboundFlows;
1437

1438
    private PlatformRestrictions(
1439
        Map<String, Object> extraParams, InboundFlows inboundFlows, OutboundFlows outboundFlows) {
×
1440
      this.extraParams = extraParams;
×
1441
      this.inboundFlows = inboundFlows;
×
1442
      this.outboundFlows = outboundFlows;
×
1443
    }
×
1444

1445
    public static Builder builder() {
1446
      return new Builder();
×
1447
    }
1448

1449
    public static class Builder {
×
1450
      private Map<String, Object> extraParams;
1451

1452
      private InboundFlows inboundFlows;
1453

1454
      private OutboundFlows outboundFlows;
1455

1456
      /** Finalize and obtain parameter instance from this builder. */
1457
      public FinancialAccountUpdateParams.PlatformRestrictions build() {
1458
        return new FinancialAccountUpdateParams.PlatformRestrictions(
×
1459
            this.extraParams, this.inboundFlows, this.outboundFlows);
1460
      }
1461

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

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

1489
      /** Restricts all inbound money movement. */
1490
      public Builder setInboundFlows(
1491
          FinancialAccountUpdateParams.PlatformRestrictions.InboundFlows inboundFlows) {
1492
        this.inboundFlows = inboundFlows;
×
1493
        return this;
×
1494
      }
1495

1496
      /** Restricts all outbound money movement. */
1497
      public Builder setOutboundFlows(
1498
          FinancialAccountUpdateParams.PlatformRestrictions.OutboundFlows outboundFlows) {
1499
        this.outboundFlows = outboundFlows;
×
1500
        return this;
×
1501
      }
1502
    }
1503

1504
    public enum InboundFlows implements ApiRequestParams.EnumParam {
×
1505
      @SerializedName("restricted")
×
1506
      RESTRICTED("restricted"),
1507

1508
      @SerializedName("unrestricted")
×
1509
      UNRESTRICTED("unrestricted");
1510

1511
      @Getter(onMethod_ = {@Override})
1512
      private final String value;
1513

1514
      InboundFlows(String value) {
×
1515
        this.value = value;
×
1516
      }
×
1517
    }
1518

1519
    public enum OutboundFlows implements ApiRequestParams.EnumParam {
×
1520
      @SerializedName("restricted")
×
1521
      RESTRICTED("restricted"),
1522

1523
      @SerializedName("unrestricted")
×
1524
      UNRESTRICTED("unrestricted");
1525

1526
      @Getter(onMethod_ = {@Override})
1527
      private final String value;
1528

1529
      OutboundFlows(String value) {
×
1530
        this.value = value;
×
1531
      }
×
1532
    }
1533
  }
1534
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc