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

stripe / stripe-java / #16659

21 Nov 2024 07:24PM UTC coverage: 12.4% (-0.01%) from 12.414%
#16659

push

github

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

Update generated code for beta

3 of 189 new or added lines in 10 files covered. (1.59%)

1 existing line in 1 file now uncovered.

18860 of 152092 relevant lines covered (12.4%)

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/checkout/SessionUpdateParams.java
1
// File generated from our OpenAPI spec
2
package com.stripe.param.checkout;
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 SessionUpdateParams extends ApiRequestParams {
15
  /** Information about the customer collected within the Checkout Session. */
16
  @SerializedName("collected_information")
17
  CollectedInformation collectedInformation;
18

19
  /** Specifies which fields in the response should be expanded. */
20
  @SerializedName("expand")
21
  List<String> expand;
22

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

32
  /**
33
   * A list of items the customer is purchasing.
34
   *
35
   * <p>When updating line items, the entire array of line items must be retransmitted.
36
   *
37
   * <p>To retain an existing line item, specify its {@code id}.
38
   *
39
   * <p>To update an existing line item, specify its {@code id} along with the new values of the
40
   * fields to be updated.
41
   *
42
   * <p>To add a new line item, specify a {@code price} and {@code quantity}. Recurring prices are
43
   * not supported yet.
44
   *
45
   * <p>To remove an existing line item, omit the line item's ID from the retransmitted array.
46
   *
47
   * <p>To reorder a line item, specify it at the desired position in the retransmitted array.
48
   */
49
  @SerializedName("line_items")
50
  List<SessionUpdateParams.LineItem> lineItems;
51

52
  /**
53
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
54
   * to an object. This can be useful for storing additional information about the object in a
55
   * structured format. Individual keys can be unset by posting an empty value to them. All keys can
56
   * be unset by posting an empty value to {@code metadata}.
57
   */
58
  @SerializedName("metadata")
59
  Object metadata;
60

61
  /** The shipping rate options to apply to this Session. Up to a maximum of 5. */
62
  @SerializedName("shipping_options")
63
  Object shippingOptions;
64

65
  private SessionUpdateParams(
66
      CollectedInformation collectedInformation,
67
      List<String> expand,
68
      Map<String, Object> extraParams,
69
      List<SessionUpdateParams.LineItem> lineItems,
70
      Object metadata,
71
      Object shippingOptions) {
×
72
    this.collectedInformation = collectedInformation;
×
73
    this.expand = expand;
×
74
    this.extraParams = extraParams;
×
NEW
75
    this.lineItems = lineItems;
×
76
    this.metadata = metadata;
×
77
    this.shippingOptions = shippingOptions;
×
78
  }
×
79

80
  public static Builder builder() {
81
    return new Builder();
×
82
  }
83

84
  public static class Builder {
×
85
    private CollectedInformation collectedInformation;
86

87
    private List<String> expand;
88

89
    private Map<String, Object> extraParams;
90

91
    private List<SessionUpdateParams.LineItem> lineItems;
92

93
    private Object metadata;
94

95
    private Object shippingOptions;
96

97
    /** Finalize and obtain parameter instance from this builder. */
98
    public SessionUpdateParams build() {
99
      return new SessionUpdateParams(
×
100
          this.collectedInformation,
101
          this.expand,
102
          this.extraParams,
103
          this.lineItems,
104
          this.metadata,
105
          this.shippingOptions);
106
    }
107

108
    /** Information about the customer collected within the Checkout Session. */
109
    public Builder setCollectedInformation(
110
        SessionUpdateParams.CollectedInformation collectedInformation) {
111
      this.collectedInformation = collectedInformation;
×
112
      return this;
×
113
    }
114

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

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

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

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

167
    /**
168
     * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` call,
169
     * and subsequent calls adds additional elements to the original list. See {@link
170
     * SessionUpdateParams#lineItems} for the field documentation.
171
     */
172
    public Builder addLineItem(SessionUpdateParams.LineItem element) {
NEW
173
      if (this.lineItems == null) {
×
NEW
174
        this.lineItems = new ArrayList<>();
×
175
      }
NEW
176
      this.lineItems.add(element);
×
NEW
177
      return this;
×
178
    }
179

180
    /**
181
     * Add all elements to `lineItems` list. A list is initialized for the first `add/addAll` call,
182
     * and subsequent calls adds additional elements to the original list. See {@link
183
     * SessionUpdateParams#lineItems} for the field documentation.
184
     */
185
    public Builder addAllLineItem(List<SessionUpdateParams.LineItem> elements) {
NEW
186
      if (this.lineItems == null) {
×
NEW
187
        this.lineItems = new ArrayList<>();
×
188
      }
NEW
189
      this.lineItems.addAll(elements);
×
NEW
190
      return this;
×
191
    }
192

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

207
    /**
208
     * Add all map key/value pairs to `metadata` map. A map is initialized for the first
209
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
210
     * See {@link SessionUpdateParams#metadata} for the field documentation.
211
     */
212
    @SuppressWarnings("unchecked")
213
    public Builder putAllMetadata(Map<String, String> map) {
214
      if (this.metadata == null || this.metadata instanceof EmptyParam) {
×
215
        this.metadata = new HashMap<String, String>();
×
216
      }
217
      ((Map<String, String>) this.metadata).putAll(map);
×
218
      return this;
×
219
    }
220

221
    /**
222
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
223
     * to an object. This can be useful for storing additional information about the object in a
224
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
225
     * can be unset by posting an empty value to {@code metadata}.
226
     */
227
    public Builder setMetadata(EmptyParam metadata) {
228
      this.metadata = metadata;
×
229
      return this;
×
230
    }
231

232
    /**
233
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
234
     * to an object. This can be useful for storing additional information about the object in a
235
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
236
     * can be unset by posting an empty value to {@code metadata}.
237
     */
238
    public Builder setMetadata(Map<String, String> metadata) {
239
      this.metadata = metadata;
×
240
      return this;
×
241
    }
242

243
    /**
244
     * Add an element to `shippingOptions` list. A list is initialized for the first `add/addAll`
245
     * call, and subsequent calls adds additional elements to the original list. See {@link
246
     * SessionUpdateParams#shippingOptions} for the field documentation.
247
     */
248
    @SuppressWarnings("unchecked")
249
    public Builder addShippingOption(SessionUpdateParams.ShippingOption element) {
250
      if (this.shippingOptions == null || this.shippingOptions instanceof EmptyParam) {
×
251
        this.shippingOptions = new ArrayList<SessionUpdateParams.ShippingOption>();
×
252
      }
253
      ((List<SessionUpdateParams.ShippingOption>) this.shippingOptions).add(element);
×
254
      return this;
×
255
    }
256

257
    /**
258
     * Add all elements to `shippingOptions` list. A list is initialized for the first `add/addAll`
259
     * call, and subsequent calls adds additional elements to the original list. See {@link
260
     * SessionUpdateParams#shippingOptions} for the field documentation.
261
     */
262
    @SuppressWarnings("unchecked")
263
    public Builder addAllShippingOption(List<SessionUpdateParams.ShippingOption> elements) {
264
      if (this.shippingOptions == null || this.shippingOptions instanceof EmptyParam) {
×
265
        this.shippingOptions = new ArrayList<SessionUpdateParams.ShippingOption>();
×
266
      }
267
      ((List<SessionUpdateParams.ShippingOption>) this.shippingOptions).addAll(elements);
×
268
      return this;
×
269
    }
270

271
    /** The shipping rate options to apply to this Session. Up to a maximum of 5. */
272
    public Builder setShippingOptions(EmptyParam shippingOptions) {
273
      this.shippingOptions = shippingOptions;
×
274
      return this;
×
275
    }
276

277
    /** The shipping rate options to apply to this Session. Up to a maximum of 5. */
278
    public Builder setShippingOptions(List<SessionUpdateParams.ShippingOption> shippingOptions) {
279
      this.shippingOptions = shippingOptions;
×
280
      return this;
×
281
    }
282
  }
283

284
  @Getter
285
  public static class CollectedInformation {
286
    /**
287
     * Map of extra parameters for custom features not available in this client library. The content
288
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
289
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
290
     * param object. Effectively, this map is flattened to its parent instance.
291
     */
292
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
293
    Map<String, Object> extraParams;
294

295
    /** The shipping details to apply to this Session. */
296
    @SerializedName("shipping_details")
297
    ShippingDetails shippingDetails;
298

299
    private CollectedInformation(Map<String, Object> extraParams, ShippingDetails shippingDetails) {
×
300
      this.extraParams = extraParams;
×
301
      this.shippingDetails = shippingDetails;
×
302
    }
×
303

304
    public static Builder builder() {
305
      return new Builder();
×
306
    }
307

308
    public static class Builder {
×
309
      private Map<String, Object> extraParams;
310

311
      private ShippingDetails shippingDetails;
312

313
      /** Finalize and obtain parameter instance from this builder. */
314
      public SessionUpdateParams.CollectedInformation build() {
315
        return new SessionUpdateParams.CollectedInformation(this.extraParams, this.shippingDetails);
×
316
      }
317

318
      /**
319
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
320
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
321
       * SessionUpdateParams.CollectedInformation#extraParams} for the field documentation.
322
       */
323
      public Builder putExtraParam(String key, Object value) {
324
        if (this.extraParams == null) {
×
325
          this.extraParams = new HashMap<>();
×
326
        }
327
        this.extraParams.put(key, value);
×
328
        return this;
×
329
      }
330

331
      /**
332
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
333
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
334
       * See {@link SessionUpdateParams.CollectedInformation#extraParams} for the field
335
       * documentation.
336
       */
337
      public Builder putAllExtraParam(Map<String, Object> map) {
338
        if (this.extraParams == null) {
×
339
          this.extraParams = new HashMap<>();
×
340
        }
341
        this.extraParams.putAll(map);
×
342
        return this;
×
343
      }
344

345
      /** The shipping details to apply to this Session. */
346
      public Builder setShippingDetails(
347
          SessionUpdateParams.CollectedInformation.ShippingDetails shippingDetails) {
348
        this.shippingDetails = shippingDetails;
×
349
        return this;
×
350
      }
351
    }
352

353
    @Getter
354
    public static class ShippingDetails {
355
      /** <strong>Required.</strong> The address of the customer */
356
      @SerializedName("address")
357
      Address address;
358

359
      /**
360
       * Map of extra parameters for custom features not available in this client library. The
361
       * content in this map is not serialized under this field's {@code @SerializedName} value.
362
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
363
       * name in this param object. Effectively, this map is flattened to its parent instance.
364
       */
365
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
366
      Map<String, Object> extraParams;
367

368
      /** <strong>Required.</strong> The name of customer */
369
      @SerializedName("name")
370
      Object name;
371

372
      private ShippingDetails(Address address, Map<String, Object> extraParams, Object name) {
×
373
        this.address = address;
×
374
        this.extraParams = extraParams;
×
375
        this.name = name;
×
376
      }
×
377

378
      public static Builder builder() {
379
        return new Builder();
×
380
      }
381

382
      public static class Builder {
×
383
        private Address address;
384

385
        private Map<String, Object> extraParams;
386

387
        private Object name;
388

389
        /** Finalize and obtain parameter instance from this builder. */
390
        public SessionUpdateParams.CollectedInformation.ShippingDetails build() {
391
          return new SessionUpdateParams.CollectedInformation.ShippingDetails(
×
392
              this.address, this.extraParams, this.name);
393
        }
394

395
        /** <strong>Required.</strong> The address of the customer */
396
        public Builder setAddress(
397
            SessionUpdateParams.CollectedInformation.ShippingDetails.Address address) {
398
          this.address = address;
×
399
          return this;
×
400
        }
401

402
        /**
403
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
404
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
405
         * map. See {@link SessionUpdateParams.CollectedInformation.ShippingDetails#extraParams} for
406
         * the field documentation.
407
         */
408
        public Builder putExtraParam(String key, Object value) {
409
          if (this.extraParams == null) {
×
410
            this.extraParams = new HashMap<>();
×
411
          }
412
          this.extraParams.put(key, value);
×
413
          return this;
×
414
        }
415

416
        /**
417
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
418
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
419
         * map. See {@link SessionUpdateParams.CollectedInformation.ShippingDetails#extraParams} for
420
         * the field documentation.
421
         */
422
        public Builder putAllExtraParam(Map<String, Object> map) {
423
          if (this.extraParams == null) {
×
424
            this.extraParams = new HashMap<>();
×
425
          }
426
          this.extraParams.putAll(map);
×
427
          return this;
×
428
        }
429

430
        /** <strong>Required.</strong> The name of customer */
431
        public Builder setName(String name) {
432
          this.name = name;
×
433
          return this;
×
434
        }
435

436
        /** <strong>Required.</strong> The name of customer */
437
        public Builder setName(EmptyParam name) {
438
          this.name = name;
×
439
          return this;
×
440
        }
441
      }
442

443
      @Getter
444
      public static class Address {
445
        /** City, district, suburb, town, or village. */
446
        @SerializedName("city")
447
        Object city;
448

449
        /**
450
         * <strong>Required.</strong> Two-letter country code (<a
451
         * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
452
         */
453
        @SerializedName("country")
454
        Object country;
455

456
        /**
457
         * Map of extra parameters for custom features not available in this client library. The
458
         * content in this map is not serialized under this field's {@code @SerializedName} value.
459
         * Instead, each key/value pair is serialized as if the key is a root-level field
460
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
461
         * instance.
462
         */
463
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
464
        Map<String, Object> extraParams;
465

466
        /** <strong>Required.</strong> Address line 1 (e.g., street, PO Box, or company name). */
467
        @SerializedName("line1")
468
        Object line1;
469

470
        /** Address line 2 (e.g., apartment, suite, unit, or building). */
471
        @SerializedName("line2")
472
        Object line2;
473

474
        /** ZIP or postal code. */
475
        @SerializedName("postal_code")
476
        Object postalCode;
477

478
        /** State, county, province, or region. */
479
        @SerializedName("state")
480
        Object state;
481

482
        private Address(
483
            Object city,
484
            Object country,
485
            Map<String, Object> extraParams,
486
            Object line1,
487
            Object line2,
488
            Object postalCode,
489
            Object state) {
×
490
          this.city = city;
×
491
          this.country = country;
×
492
          this.extraParams = extraParams;
×
493
          this.line1 = line1;
×
494
          this.line2 = line2;
×
495
          this.postalCode = postalCode;
×
496
          this.state = state;
×
497
        }
×
498

499
        public static Builder builder() {
500
          return new Builder();
×
501
        }
502

503
        public static class Builder {
×
504
          private Object city;
505

506
          private Object country;
507

508
          private Map<String, Object> extraParams;
509

510
          private Object line1;
511

512
          private Object line2;
513

514
          private Object postalCode;
515

516
          private Object state;
517

518
          /** Finalize and obtain parameter instance from this builder. */
519
          public SessionUpdateParams.CollectedInformation.ShippingDetails.Address build() {
520
            return new SessionUpdateParams.CollectedInformation.ShippingDetails.Address(
×
521
                this.city,
522
                this.country,
523
                this.extraParams,
524
                this.line1,
525
                this.line2,
526
                this.postalCode,
527
                this.state);
528
          }
529

530
          /** City, district, suburb, town, or village. */
531
          public Builder setCity(String city) {
532
            this.city = city;
×
533
            return this;
×
534
          }
535

536
          /** City, district, suburb, town, or village. */
537
          public Builder setCity(EmptyParam city) {
538
            this.city = city;
×
539
            return this;
×
540
          }
541

542
          /**
543
           * <strong>Required.</strong> Two-letter country code (<a
544
           * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
545
           */
546
          public Builder setCountry(String country) {
547
            this.country = country;
×
548
            return this;
×
549
          }
550

551
          /**
552
           * <strong>Required.</strong> Two-letter country code (<a
553
           * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
554
           */
555
          public Builder setCountry(EmptyParam country) {
556
            this.country = country;
×
557
            return this;
×
558
          }
559

560
          /**
561
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
562
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
563
           * map. See {@link
564
           * SessionUpdateParams.CollectedInformation.ShippingDetails.Address#extraParams} for the
565
           * field documentation.
566
           */
567
          public Builder putExtraParam(String key, Object value) {
568
            if (this.extraParams == null) {
×
569
              this.extraParams = new HashMap<>();
×
570
            }
571
            this.extraParams.put(key, value);
×
572
            return this;
×
573
          }
574

575
          /**
576
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
577
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
578
           * map. See {@link
579
           * SessionUpdateParams.CollectedInformation.ShippingDetails.Address#extraParams} for the
580
           * field documentation.
581
           */
582
          public Builder putAllExtraParam(Map<String, Object> map) {
583
            if (this.extraParams == null) {
×
584
              this.extraParams = new HashMap<>();
×
585
            }
586
            this.extraParams.putAll(map);
×
587
            return this;
×
588
          }
589

590
          /** <strong>Required.</strong> Address line 1 (e.g., street, PO Box, or company name). */
591
          public Builder setLine1(String line1) {
592
            this.line1 = line1;
×
593
            return this;
×
594
          }
595

596
          /** <strong>Required.</strong> Address line 1 (e.g., street, PO Box, or company name). */
597
          public Builder setLine1(EmptyParam line1) {
598
            this.line1 = line1;
×
599
            return this;
×
600
          }
601

602
          /** Address line 2 (e.g., apartment, suite, unit, or building). */
603
          public Builder setLine2(String line2) {
604
            this.line2 = line2;
×
605
            return this;
×
606
          }
607

608
          /** Address line 2 (e.g., apartment, suite, unit, or building). */
609
          public Builder setLine2(EmptyParam line2) {
610
            this.line2 = line2;
×
611
            return this;
×
612
          }
613

614
          /** ZIP or postal code. */
615
          public Builder setPostalCode(String postalCode) {
616
            this.postalCode = postalCode;
×
617
            return this;
×
618
          }
619

620
          /** ZIP or postal code. */
621
          public Builder setPostalCode(EmptyParam postalCode) {
622
            this.postalCode = postalCode;
×
623
            return this;
×
624
          }
625

626
          /** State, county, province, or region. */
627
          public Builder setState(String state) {
628
            this.state = state;
×
629
            return this;
×
630
          }
631

632
          /** State, county, province, or region. */
633
          public Builder setState(EmptyParam state) {
634
            this.state = state;
×
635
            return this;
×
636
          }
637
        }
638
      }
639
    }
640
  }
641

642
  @Getter
643
  public static class LineItem {
644
    /**
645
     * When set, provides configuration for this item’s quantity to be adjusted by the customer
646
     * during Checkout.
647
     */
648
    @SerializedName("adjustable_quantity")
649
    AdjustableQuantity adjustableQuantity;
650

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

660
    /** ID of an existing line item. */
661
    @SerializedName("id")
662
    Object id;
663

664
    /**
665
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
666
     * to an object. This can be useful for storing additional information about the object in a
667
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
668
     * can be unset by posting an empty value to {@code metadata}.
669
     */
670
    @SerializedName("metadata")
671
    Object metadata;
672

673
    /** The ID of the <a href="https://stripe.com/docs/api/prices">Price</a>. */
674
    @SerializedName("price")
675
    Object price;
676

677
    /** The quantity of the line item being purchased. */
678
    @SerializedName("quantity")
679
    Long quantity;
680

681
    /**
682
     * The <a href="https://stripe.com/docs/api/tax_rates">tax rates</a> which apply to this line
683
     * item.
684
     */
685
    @SerializedName("tax_rates")
686
    Object taxRates;
687

688
    private LineItem(
689
        AdjustableQuantity adjustableQuantity,
690
        Map<String, Object> extraParams,
691
        Object id,
692
        Object metadata,
693
        Object price,
694
        Long quantity,
NEW
695
        Object taxRates) {
×
NEW
696
      this.adjustableQuantity = adjustableQuantity;
×
NEW
697
      this.extraParams = extraParams;
×
NEW
698
      this.id = id;
×
NEW
699
      this.metadata = metadata;
×
NEW
700
      this.price = price;
×
NEW
701
      this.quantity = quantity;
×
NEW
702
      this.taxRates = taxRates;
×
NEW
703
    }
×
704

705
    public static Builder builder() {
NEW
706
      return new Builder();
×
707
    }
708

NEW
709
    public static class Builder {
×
710
      private AdjustableQuantity adjustableQuantity;
711

712
      private Map<String, Object> extraParams;
713

714
      private Object id;
715

716
      private Object metadata;
717

718
      private Object price;
719

720
      private Long quantity;
721

722
      private Object taxRates;
723

724
      /** Finalize and obtain parameter instance from this builder. */
725
      public SessionUpdateParams.LineItem build() {
NEW
726
        return new SessionUpdateParams.LineItem(
×
727
            this.adjustableQuantity,
728
            this.extraParams,
729
            this.id,
730
            this.metadata,
731
            this.price,
732
            this.quantity,
733
            this.taxRates);
734
      }
735

736
      /**
737
       * When set, provides configuration for this item’s quantity to be adjusted by the customer
738
       * during Checkout.
739
       */
740
      public Builder setAdjustableQuantity(
741
          SessionUpdateParams.LineItem.AdjustableQuantity adjustableQuantity) {
NEW
742
        this.adjustableQuantity = adjustableQuantity;
×
NEW
743
        return this;
×
744
      }
745

746
      /**
747
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
748
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
749
       * SessionUpdateParams.LineItem#extraParams} for the field documentation.
750
       */
751
      public Builder putExtraParam(String key, Object value) {
NEW
752
        if (this.extraParams == null) {
×
NEW
753
          this.extraParams = new HashMap<>();
×
754
        }
NEW
755
        this.extraParams.put(key, value);
×
NEW
756
        return this;
×
757
      }
758

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

772
      /** ID of an existing line item. */
773
      public Builder setId(String id) {
NEW
774
        this.id = id;
×
NEW
775
        return this;
×
776
      }
777

778
      /** ID of an existing line item. */
779
      public Builder setId(EmptyParam id) {
NEW
780
        this.id = id;
×
NEW
781
        return this;
×
782
      }
783

784
      /**
785
       * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll`
786
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
787
       * SessionUpdateParams.LineItem#metadata} for the field documentation.
788
       */
789
      @SuppressWarnings("unchecked")
790
      public Builder putMetadata(String key, String value) {
NEW
791
        if (this.metadata == null || this.metadata instanceof EmptyParam) {
×
NEW
792
          this.metadata = new HashMap<String, String>();
×
793
        }
NEW
794
        ((Map<String, String>) this.metadata).put(key, value);
×
NEW
795
        return this;
×
796
      }
797

798
      /**
799
       * Add all map key/value pairs to `metadata` map. A map is initialized for the first
800
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
801
       * See {@link SessionUpdateParams.LineItem#metadata} for the field documentation.
802
       */
803
      @SuppressWarnings("unchecked")
804
      public Builder putAllMetadata(Map<String, String> map) {
NEW
805
        if (this.metadata == null || this.metadata instanceof EmptyParam) {
×
NEW
806
          this.metadata = new HashMap<String, String>();
×
807
        }
NEW
808
        ((Map<String, String>) this.metadata).putAll(map);
×
NEW
809
        return this;
×
810
      }
811

812
      /**
813
       * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can
814
       * attach to an object. This can be useful for storing additional information about the object
815
       * in a structured format. Individual keys can be unset by posting an empty value to them. All
816
       * keys can be unset by posting an empty value to {@code metadata}.
817
       */
818
      public Builder setMetadata(EmptyParam metadata) {
NEW
819
        this.metadata = metadata;
×
NEW
820
        return this;
×
821
      }
822

823
      /**
824
       * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can
825
       * attach to an object. This can be useful for storing additional information about the object
826
       * in a structured format. Individual keys can be unset by posting an empty value to them. All
827
       * keys can be unset by posting an empty value to {@code metadata}.
828
       */
829
      public Builder setMetadata(Map<String, String> metadata) {
NEW
830
        this.metadata = metadata;
×
NEW
831
        return this;
×
832
      }
833

834
      /** The ID of the <a href="https://stripe.com/docs/api/prices">Price</a>. */
835
      public Builder setPrice(String price) {
NEW
836
        this.price = price;
×
NEW
837
        return this;
×
838
      }
839

840
      /** The ID of the <a href="https://stripe.com/docs/api/prices">Price</a>. */
841
      public Builder setPrice(EmptyParam price) {
NEW
842
        this.price = price;
×
NEW
843
        return this;
×
844
      }
845

846
      /** The quantity of the line item being purchased. */
847
      public Builder setQuantity(Long quantity) {
NEW
848
        this.quantity = quantity;
×
NEW
849
        return this;
×
850
      }
851

852
      /**
853
       * Add an element to `taxRates` list. A list is initialized for the first `add/addAll` call,
854
       * and subsequent calls adds additional elements to the original list. See {@link
855
       * SessionUpdateParams.LineItem#taxRates} for the field documentation.
856
       */
857
      @SuppressWarnings("unchecked")
858
      public Builder addTaxRate(String element) {
NEW
859
        if (this.taxRates == null || this.taxRates instanceof EmptyParam) {
×
NEW
860
          this.taxRates = new ArrayList<String>();
×
861
        }
NEW
862
        ((List<String>) this.taxRates).add(element);
×
NEW
863
        return this;
×
864
      }
865

866
      /**
867
       * Add all elements to `taxRates` list. A list is initialized for the first `add/addAll` call,
868
       * and subsequent calls adds additional elements to the original list. See {@link
869
       * SessionUpdateParams.LineItem#taxRates} for the field documentation.
870
       */
871
      @SuppressWarnings("unchecked")
872
      public Builder addAllTaxRate(List<String> elements) {
NEW
873
        if (this.taxRates == null || this.taxRates instanceof EmptyParam) {
×
NEW
874
          this.taxRates = new ArrayList<String>();
×
875
        }
NEW
876
        ((List<String>) this.taxRates).addAll(elements);
×
NEW
877
        return this;
×
878
      }
879

880
      /**
881
       * The <a href="https://stripe.com/docs/api/tax_rates">tax rates</a> which apply to this line
882
       * item.
883
       */
884
      public Builder setTaxRates(EmptyParam taxRates) {
NEW
885
        this.taxRates = taxRates;
×
NEW
886
        return this;
×
887
      }
888

889
      /**
890
       * The <a href="https://stripe.com/docs/api/tax_rates">tax rates</a> which apply to this line
891
       * item.
892
       */
893
      public Builder setTaxRates(List<String> taxRates) {
NEW
894
        this.taxRates = taxRates;
×
NEW
895
        return this;
×
896
      }
897
    }
898

899
    @Getter
900
    public static class AdjustableQuantity {
901
      /**
902
       * <strong>Required.</strong> Set to true if the quantity can be adjusted to any positive
903
       * integer. Setting to false will remove any previously specified constraints on quantity.
904
       */
905
      @SerializedName("enabled")
906
      Boolean enabled;
907

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

917
      /**
918
       * The maximum quantity the customer can purchase for the Checkout Session. By default this
919
       * value is 99. You can specify a value up to 999999.
920
       */
921
      @SerializedName("maximum")
922
      Long maximum;
923

924
      /**
925
       * The minimum quantity the customer must purchase for the Checkout Session. By default this
926
       * value is 0.
927
       */
928
      @SerializedName("minimum")
929
      Long minimum;
930

931
      private AdjustableQuantity(
NEW
932
          Boolean enabled, Map<String, Object> extraParams, Long maximum, Long minimum) {
×
NEW
933
        this.enabled = enabled;
×
NEW
934
        this.extraParams = extraParams;
×
NEW
935
        this.maximum = maximum;
×
NEW
936
        this.minimum = minimum;
×
NEW
937
      }
×
938

939
      public static Builder builder() {
NEW
940
        return new Builder();
×
941
      }
942

NEW
943
      public static class Builder {
×
944
        private Boolean enabled;
945

946
        private Map<String, Object> extraParams;
947

948
        private Long maximum;
949

950
        private Long minimum;
951

952
        /** Finalize and obtain parameter instance from this builder. */
953
        public SessionUpdateParams.LineItem.AdjustableQuantity build() {
NEW
954
          return new SessionUpdateParams.LineItem.AdjustableQuantity(
×
955
              this.enabled, this.extraParams, this.maximum, this.minimum);
956
        }
957

958
        /**
959
         * <strong>Required.</strong> Set to true if the quantity can be adjusted to any positive
960
         * integer. Setting to false will remove any previously specified constraints on quantity.
961
         */
962
        public Builder setEnabled(Boolean enabled) {
NEW
963
          this.enabled = enabled;
×
NEW
964
          return this;
×
965
        }
966

967
        /**
968
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
969
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
970
         * map. See {@link SessionUpdateParams.LineItem.AdjustableQuantity#extraParams} for the
971
         * field documentation.
972
         */
973
        public Builder putExtraParam(String key, Object value) {
NEW
974
          if (this.extraParams == null) {
×
NEW
975
            this.extraParams = new HashMap<>();
×
976
          }
NEW
977
          this.extraParams.put(key, value);
×
NEW
978
          return this;
×
979
        }
980

981
        /**
982
         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
983
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
984
         * map. See {@link SessionUpdateParams.LineItem.AdjustableQuantity#extraParams} for the
985
         * field documentation.
986
         */
987
        public Builder putAllExtraParam(Map<String, Object> map) {
NEW
988
          if (this.extraParams == null) {
×
NEW
989
            this.extraParams = new HashMap<>();
×
990
          }
NEW
991
          this.extraParams.putAll(map);
×
NEW
992
          return this;
×
993
        }
994

995
        /**
996
         * The maximum quantity the customer can purchase for the Checkout Session. By default this
997
         * value is 99. You can specify a value up to 999999.
998
         */
999
        public Builder setMaximum(Long maximum) {
NEW
1000
          this.maximum = maximum;
×
NEW
1001
          return this;
×
1002
        }
1003

1004
        /**
1005
         * The minimum quantity the customer must purchase for the Checkout Session. By default this
1006
         * value is 0.
1007
         */
1008
        public Builder setMinimum(Long minimum) {
NEW
1009
          this.minimum = minimum;
×
NEW
1010
          return this;
×
1011
        }
1012
      }
1013
    }
1014
  }
1015

1016
  @Getter
1017
  public static class ShippingOption {
1018
    /**
1019
     * Map of extra parameters for custom features not available in this client library. The content
1020
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
1021
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
1022
     * param object. Effectively, this map is flattened to its parent instance.
1023
     */
1024
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1025
    Map<String, Object> extraParams;
1026

1027
    /** The ID of the Shipping Rate to use for this shipping option. */
1028
    @SerializedName("shipping_rate")
1029
    Object shippingRate;
1030

1031
    /** Parameters to be passed to Shipping Rate creation for this shipping option. */
1032
    @SerializedName("shipping_rate_data")
1033
    ShippingRateData shippingRateData;
1034

1035
    private ShippingOption(
1036
        Map<String, Object> extraParams, Object shippingRate, ShippingRateData shippingRateData) {
×
1037
      this.extraParams = extraParams;
×
1038
      this.shippingRate = shippingRate;
×
1039
      this.shippingRateData = shippingRateData;
×
1040
    }
×
1041

1042
    public static Builder builder() {
1043
      return new Builder();
×
1044
    }
1045

1046
    public static class Builder {
×
1047
      private Map<String, Object> extraParams;
1048

1049
      private Object shippingRate;
1050

1051
      private ShippingRateData shippingRateData;
1052

1053
      /** Finalize and obtain parameter instance from this builder. */
1054
      public SessionUpdateParams.ShippingOption build() {
1055
        return new SessionUpdateParams.ShippingOption(
×
1056
            this.extraParams, this.shippingRate, this.shippingRateData);
1057
      }
1058

1059
      /**
1060
       * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
1061
       * call, and subsequent calls add additional key/value pairs to the original map. See {@link
1062
       * SessionUpdateParams.ShippingOption#extraParams} for the field documentation.
1063
       */
1064
      public Builder putExtraParam(String key, Object value) {
1065
        if (this.extraParams == null) {
×
1066
          this.extraParams = new HashMap<>();
×
1067
        }
1068
        this.extraParams.put(key, value);
×
1069
        return this;
×
1070
      }
1071

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

1085
      /** The ID of the Shipping Rate to use for this shipping option. */
1086
      public Builder setShippingRate(String shippingRate) {
1087
        this.shippingRate = shippingRate;
×
1088
        return this;
×
1089
      }
1090

1091
      /** The ID of the Shipping Rate to use for this shipping option. */
1092
      public Builder setShippingRate(EmptyParam shippingRate) {
1093
        this.shippingRate = shippingRate;
×
1094
        return this;
×
1095
      }
1096

1097
      /** Parameters to be passed to Shipping Rate creation for this shipping option. */
1098
      public Builder setShippingRateData(
1099
          SessionUpdateParams.ShippingOption.ShippingRateData shippingRateData) {
1100
        this.shippingRateData = shippingRateData;
×
1101
        return this;
×
1102
      }
1103
    }
1104

1105
    @Getter
1106
    public static class ShippingRateData {
1107
      /**
1108
       * The estimated range for how long shipping will take, meant to be displayable to the
1109
       * customer. This will appear on CheckoutSessions.
1110
       */
1111
      @SerializedName("delivery_estimate")
1112
      DeliveryEstimate deliveryEstimate;
1113

1114
      /**
1115
       * <strong>Required.</strong> The name of the shipping rate, meant to be displayable to the
1116
       * customer. This will appear on CheckoutSessions.
1117
       */
1118
      @SerializedName("display_name")
1119
      Object displayName;
1120

1121
      /**
1122
       * Map of extra parameters for custom features not available in this client library. The
1123
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1124
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1125
       * name in this param object. Effectively, this map is flattened to its parent instance.
1126
       */
1127
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1128
      Map<String, Object> extraParams;
1129

1130
      /**
1131
       * Describes a fixed amount to charge for shipping. Must be present if type is {@code
1132
       * fixed_amount}.
1133
       */
1134
      @SerializedName("fixed_amount")
1135
      FixedAmount fixedAmount;
1136

1137
      /**
1138
       * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can
1139
       * attach to an object. This can be useful for storing additional information about the object
1140
       * in a structured format. Individual keys can be unset by posting an empty value to them. All
1141
       * keys can be unset by posting an empty value to {@code metadata}.
1142
       */
1143
      @SerializedName("metadata")
1144
      Map<String, String> metadata;
1145

1146
      /**
1147
       * Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of
1148
       * {@code inclusive}, {@code exclusive}, or {@code unspecified}.
1149
       */
1150
      @SerializedName("tax_behavior")
1151
      TaxBehavior taxBehavior;
1152

1153
      /**
1154
       * A <a href="https://stripe.com/docs/tax/tax-categories">tax code</a> ID. The Shipping tax
1155
       * code is {@code txcd_92010001}.
1156
       */
1157
      @SerializedName("tax_code")
1158
      Object taxCode;
1159

1160
      /** The type of calculation to use on the shipping rate. */
1161
      @SerializedName("type")
1162
      Type type;
1163

1164
      private ShippingRateData(
1165
          DeliveryEstimate deliveryEstimate,
1166
          Object displayName,
1167
          Map<String, Object> extraParams,
1168
          FixedAmount fixedAmount,
1169
          Map<String, String> metadata,
1170
          TaxBehavior taxBehavior,
1171
          Object taxCode,
1172
          Type type) {
×
1173
        this.deliveryEstimate = deliveryEstimate;
×
1174
        this.displayName = displayName;
×
1175
        this.extraParams = extraParams;
×
1176
        this.fixedAmount = fixedAmount;
×
1177
        this.metadata = metadata;
×
1178
        this.taxBehavior = taxBehavior;
×
1179
        this.taxCode = taxCode;
×
1180
        this.type = type;
×
1181
      }
×
1182

1183
      public static Builder builder() {
1184
        return new Builder();
×
1185
      }
1186

1187
      public static class Builder {
×
1188
        private DeliveryEstimate deliveryEstimate;
1189

1190
        private Object displayName;
1191

1192
        private Map<String, Object> extraParams;
1193

1194
        private FixedAmount fixedAmount;
1195

1196
        private Map<String, String> metadata;
1197

1198
        private TaxBehavior taxBehavior;
1199

1200
        private Object taxCode;
1201

1202
        private Type type;
1203

1204
        /** Finalize and obtain parameter instance from this builder. */
1205
        public SessionUpdateParams.ShippingOption.ShippingRateData build() {
1206
          return new SessionUpdateParams.ShippingOption.ShippingRateData(
×
1207
              this.deliveryEstimate,
1208
              this.displayName,
1209
              this.extraParams,
1210
              this.fixedAmount,
1211
              this.metadata,
1212
              this.taxBehavior,
1213
              this.taxCode,
1214
              this.type);
1215
        }
1216

1217
        /**
1218
         * The estimated range for how long shipping will take, meant to be displayable to the
1219
         * customer. This will appear on CheckoutSessions.
1220
         */
1221
        public Builder setDeliveryEstimate(
1222
            SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate deliveryEstimate) {
1223
          this.deliveryEstimate = deliveryEstimate;
×
1224
          return this;
×
1225
        }
1226

1227
        /**
1228
         * <strong>Required.</strong> The name of the shipping rate, meant to be displayable to the
1229
         * customer. This will appear on CheckoutSessions.
1230
         */
1231
        public Builder setDisplayName(String displayName) {
1232
          this.displayName = displayName;
×
1233
          return this;
×
1234
        }
1235

1236
        /**
1237
         * <strong>Required.</strong> The name of the shipping rate, meant to be displayable to the
1238
         * customer. This will appear on CheckoutSessions.
1239
         */
1240
        public Builder setDisplayName(EmptyParam displayName) {
1241
          this.displayName = displayName;
×
1242
          return this;
×
1243
        }
1244

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

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

1273
        /**
1274
         * Describes a fixed amount to charge for shipping. Must be present if type is {@code
1275
         * fixed_amount}.
1276
         */
1277
        public Builder setFixedAmount(
1278
            SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount fixedAmount) {
1279
          this.fixedAmount = fixedAmount;
×
1280
          return this;
×
1281
        }
1282

1283
        /**
1284
         * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll`
1285
         * call, and subsequent calls add additional key/value pairs to the original map. See {@link
1286
         * SessionUpdateParams.ShippingOption.ShippingRateData#metadata} for the field
1287
         * documentation.
1288
         */
1289
        public Builder putMetadata(String key, String value) {
1290
          if (this.metadata == null) {
×
1291
            this.metadata = new HashMap<>();
×
1292
          }
1293
          this.metadata.put(key, value);
×
1294
          return this;
×
1295
        }
1296

1297
        /**
1298
         * Add all map key/value pairs to `metadata` map. A map is initialized for the first
1299
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1300
         * map. See {@link SessionUpdateParams.ShippingOption.ShippingRateData#metadata} for the
1301
         * field documentation.
1302
         */
1303
        public Builder putAllMetadata(Map<String, String> map) {
1304
          if (this.metadata == null) {
×
1305
            this.metadata = new HashMap<>();
×
1306
          }
1307
          this.metadata.putAll(map);
×
1308
          return this;
×
1309
        }
1310

1311
        /**
1312
         * Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of
1313
         * {@code inclusive}, {@code exclusive}, or {@code unspecified}.
1314
         */
1315
        public Builder setTaxBehavior(
1316
            SessionUpdateParams.ShippingOption.ShippingRateData.TaxBehavior taxBehavior) {
1317
          this.taxBehavior = taxBehavior;
×
1318
          return this;
×
1319
        }
1320

1321
        /**
1322
         * A <a href="https://stripe.com/docs/tax/tax-categories">tax code</a> ID. The Shipping tax
1323
         * code is {@code txcd_92010001}.
1324
         */
1325
        public Builder setTaxCode(String taxCode) {
1326
          this.taxCode = taxCode;
×
1327
          return this;
×
1328
        }
1329

1330
        /**
1331
         * A <a href="https://stripe.com/docs/tax/tax-categories">tax code</a> ID. The Shipping tax
1332
         * code is {@code txcd_92010001}.
1333
         */
1334
        public Builder setTaxCode(EmptyParam taxCode) {
1335
          this.taxCode = taxCode;
×
1336
          return this;
×
1337
        }
1338

1339
        /** The type of calculation to use on the shipping rate. */
1340
        public Builder setType(SessionUpdateParams.ShippingOption.ShippingRateData.Type type) {
1341
          this.type = type;
×
1342
          return this;
×
1343
        }
1344
      }
1345

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

1358
        /**
1359
         * The upper bound of the estimated range. If empty, represents no upper bound i.e.,
1360
         * infinite.
1361
         */
1362
        @SerializedName("maximum")
1363
        Maximum maximum;
1364

1365
        /** The lower bound of the estimated range. If empty, represents no lower bound. */
1366
        @SerializedName("minimum")
1367
        Minimum minimum;
1368

1369
        private DeliveryEstimate(
1370
            Map<String, Object> extraParams, Maximum maximum, Minimum minimum) {
×
1371
          this.extraParams = extraParams;
×
1372
          this.maximum = maximum;
×
1373
          this.minimum = minimum;
×
1374
        }
×
1375

1376
        public static Builder builder() {
1377
          return new Builder();
×
1378
        }
1379

1380
        public static class Builder {
×
1381
          private Map<String, Object> extraParams;
1382

1383
          private Maximum maximum;
1384

1385
          private Minimum minimum;
1386

1387
          /** Finalize and obtain parameter instance from this builder. */
1388
          public SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate build() {
1389
            return new SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate(
×
1390
                this.extraParams, this.maximum, this.minimum);
1391
          }
1392

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

1408
          /**
1409
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1410
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1411
           * map. See {@link
1412
           * SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate#extraParams} for
1413
           * the field documentation.
1414
           */
1415
          public Builder putAllExtraParam(Map<String, Object> map) {
1416
            if (this.extraParams == null) {
×
1417
              this.extraParams = new HashMap<>();
×
1418
            }
1419
            this.extraParams.putAll(map);
×
1420
            return this;
×
1421
          }
1422

1423
          /**
1424
           * The upper bound of the estimated range. If empty, represents no upper bound i.e.,
1425
           * infinite.
1426
           */
1427
          public Builder setMaximum(
1428
              SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Maximum
1429
                  maximum) {
1430
            this.maximum = maximum;
×
1431
            return this;
×
1432
          }
1433

1434
          /** The lower bound of the estimated range. If empty, represents no lower bound. */
1435
          public Builder setMinimum(
1436
              SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Minimum
1437
                  minimum) {
1438
            this.minimum = minimum;
×
1439
            return this;
×
1440
          }
1441
        }
1442

1443
        @Getter
1444
        public static class Maximum {
1445
          /**
1446
           * Map of extra parameters for custom features not available in this client library. The
1447
           * content in this map is not serialized under this field's {@code @SerializedName} value.
1448
           * Instead, each key/value pair is serialized as if the key is a root-level field
1449
           * (serialized) name in this param object. Effectively, this map is flattened to its
1450
           * parent instance.
1451
           */
1452
          @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1453
          Map<String, Object> extraParams;
1454

1455
          /** <strong>Required.</strong> A unit of time. */
1456
          @SerializedName("unit")
1457
          Unit unit;
1458

1459
          /** <strong>Required.</strong> Must be greater than 0. */
1460
          @SerializedName("value")
1461
          Long value;
1462

1463
          private Maximum(Map<String, Object> extraParams, Unit unit, Long value) {
×
1464
            this.extraParams = extraParams;
×
1465
            this.unit = unit;
×
1466
            this.value = value;
×
1467
          }
×
1468

1469
          public static Builder builder() {
1470
            return new Builder();
×
1471
          }
1472

1473
          public static class Builder {
×
1474
            private Map<String, Object> extraParams;
1475

1476
            private Unit unit;
1477

1478
            private Long value;
1479

1480
            /** Finalize and obtain parameter instance from this builder. */
1481
            public SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Maximum
1482
                build() {
1483
              return new SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate
×
1484
                  .Maximum(this.extraParams, this.unit, this.value);
1485
            }
1486

1487
            /**
1488
             * Add a key/value pair to `extraParams` map. A map is initialized for the first
1489
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1490
             * original map. See {@link
1491
             * SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Maximum#extraParams}
1492
             * for the field documentation.
1493
             */
1494
            public Builder putExtraParam(String key, Object value) {
1495
              if (this.extraParams == null) {
×
1496
                this.extraParams = new HashMap<>();
×
1497
              }
1498
              this.extraParams.put(key, value);
×
1499
              return this;
×
1500
            }
1501

1502
            /**
1503
             * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1504
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1505
             * original map. See {@link
1506
             * SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Maximum#extraParams}
1507
             * for the field documentation.
1508
             */
1509
            public Builder putAllExtraParam(Map<String, Object> map) {
1510
              if (this.extraParams == null) {
×
1511
                this.extraParams = new HashMap<>();
×
1512
              }
1513
              this.extraParams.putAll(map);
×
1514
              return this;
×
1515
            }
1516

1517
            /** <strong>Required.</strong> A unit of time. */
1518
            public Builder setUnit(
1519
                SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Maximum.Unit
1520
                    unit) {
1521
              this.unit = unit;
×
1522
              return this;
×
1523
            }
1524

1525
            /** <strong>Required.</strong> Must be greater than 0. */
1526
            public Builder setValue(Long value) {
1527
              this.value = value;
×
1528
              return this;
×
1529
            }
1530
          }
1531

1532
          public enum Unit implements ApiRequestParams.EnumParam {
×
1533
            @SerializedName("business_day")
×
1534
            BUSINESS_DAY("business_day"),
1535

1536
            @SerializedName("day")
×
1537
            DAY("day"),
1538

1539
            @SerializedName("hour")
×
1540
            HOUR("hour"),
1541

1542
            @SerializedName("month")
×
1543
            MONTH("month"),
1544

1545
            @SerializedName("week")
×
1546
            WEEK("week");
1547

1548
            @Getter(onMethod_ = {@Override})
1549
            private final String value;
1550

1551
            Unit(String value) {
×
1552
              this.value = value;
×
1553
            }
×
1554
          }
1555
        }
1556

1557
        @Getter
1558
        public static class Minimum {
1559
          /**
1560
           * Map of extra parameters for custom features not available in this client library. The
1561
           * content in this map is not serialized under this field's {@code @SerializedName} value.
1562
           * Instead, each key/value pair is serialized as if the key is a root-level field
1563
           * (serialized) name in this param object. Effectively, this map is flattened to its
1564
           * parent instance.
1565
           */
1566
          @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1567
          Map<String, Object> extraParams;
1568

1569
          /** <strong>Required.</strong> A unit of time. */
1570
          @SerializedName("unit")
1571
          Unit unit;
1572

1573
          /** <strong>Required.</strong> Must be greater than 0. */
1574
          @SerializedName("value")
1575
          Long value;
1576

1577
          private Minimum(Map<String, Object> extraParams, Unit unit, Long value) {
×
1578
            this.extraParams = extraParams;
×
1579
            this.unit = unit;
×
1580
            this.value = value;
×
1581
          }
×
1582

1583
          public static Builder builder() {
1584
            return new Builder();
×
1585
          }
1586

1587
          public static class Builder {
×
1588
            private Map<String, Object> extraParams;
1589

1590
            private Unit unit;
1591

1592
            private Long value;
1593

1594
            /** Finalize and obtain parameter instance from this builder. */
1595
            public SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Minimum
1596
                build() {
1597
              return new SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate
×
1598
                  .Minimum(this.extraParams, this.unit, this.value);
1599
            }
1600

1601
            /**
1602
             * Add a key/value pair to `extraParams` map. A map is initialized for the first
1603
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1604
             * original map. See {@link
1605
             * SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Minimum#extraParams}
1606
             * for the field documentation.
1607
             */
1608
            public Builder putExtraParam(String key, Object value) {
1609
              if (this.extraParams == null) {
×
1610
                this.extraParams = new HashMap<>();
×
1611
              }
1612
              this.extraParams.put(key, value);
×
1613
              return this;
×
1614
            }
1615

1616
            /**
1617
             * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1618
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1619
             * original map. See {@link
1620
             * SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Minimum#extraParams}
1621
             * for the field documentation.
1622
             */
1623
            public Builder putAllExtraParam(Map<String, Object> map) {
1624
              if (this.extraParams == null) {
×
1625
                this.extraParams = new HashMap<>();
×
1626
              }
1627
              this.extraParams.putAll(map);
×
1628
              return this;
×
1629
            }
1630

1631
            /** <strong>Required.</strong> A unit of time. */
1632
            public Builder setUnit(
1633
                SessionUpdateParams.ShippingOption.ShippingRateData.DeliveryEstimate.Minimum.Unit
1634
                    unit) {
1635
              this.unit = unit;
×
1636
              return this;
×
1637
            }
1638

1639
            /** <strong>Required.</strong> Must be greater than 0. */
1640
            public Builder setValue(Long value) {
1641
              this.value = value;
×
1642
              return this;
×
1643
            }
1644
          }
1645

1646
          public enum Unit implements ApiRequestParams.EnumParam {
×
1647
            @SerializedName("business_day")
×
1648
            BUSINESS_DAY("business_day"),
1649

1650
            @SerializedName("day")
×
1651
            DAY("day"),
1652

1653
            @SerializedName("hour")
×
1654
            HOUR("hour"),
1655

1656
            @SerializedName("month")
×
1657
            MONTH("month"),
1658

1659
            @SerializedName("week")
×
1660
            WEEK("week");
1661

1662
            @Getter(onMethod_ = {@Override})
1663
            private final String value;
1664

1665
            Unit(String value) {
×
1666
              this.value = value;
×
1667
            }
×
1668
          }
1669
        }
1670
      }
1671

1672
      @Getter
1673
      public static class FixedAmount {
1674
        /**
1675
         * <strong>Required.</strong> A non-negative integer in cents representing how much to
1676
         * charge.
1677
         */
1678
        @SerializedName("amount")
1679
        Long amount;
1680

1681
        /**
1682
         * <strong>Required.</strong> Three-letter <a
1683
         * href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in
1684
         * lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
1685
         */
1686
        @SerializedName("currency")
1687
        Object currency;
1688

1689
        /**
1690
         * Shipping rates defined in each available currency option. Each key must be a three-letter
1691
         * <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a> and a <a
1692
         * href="https://stripe.com/docs/currencies">supported currency</a>.
1693
         */
1694
        @SerializedName("currency_options")
1695
        Map<String, SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption>
1696
            currencyOptions;
1697

1698
        /**
1699
         * Map of extra parameters for custom features not available in this client library. The
1700
         * content in this map is not serialized under this field's {@code @SerializedName} value.
1701
         * Instead, each key/value pair is serialized as if the key is a root-level field
1702
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
1703
         * instance.
1704
         */
1705
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1706
        Map<String, Object> extraParams;
1707

1708
        private FixedAmount(
1709
            Long amount,
1710
            Object currency,
1711
            Map<
1712
                    String,
1713
                    SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption>
1714
                currencyOptions,
1715
            Map<String, Object> extraParams) {
×
1716
          this.amount = amount;
×
1717
          this.currency = currency;
×
1718
          this.currencyOptions = currencyOptions;
×
1719
          this.extraParams = extraParams;
×
1720
        }
×
1721

1722
        public static Builder builder() {
1723
          return new Builder();
×
1724
        }
1725

1726
        public static class Builder {
×
1727
          private Long amount;
1728

1729
          private Object currency;
1730

1731
          private Map<
1732
                  String,
1733
                  SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption>
1734
              currencyOptions;
1735

1736
          private Map<String, Object> extraParams;
1737

1738
          /** Finalize and obtain parameter instance from this builder. */
1739
          public SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount build() {
1740
            return new SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount(
×
1741
                this.amount, this.currency, this.currencyOptions, this.extraParams);
1742
          }
1743

1744
          /**
1745
           * <strong>Required.</strong> A non-negative integer in cents representing how much to
1746
           * charge.
1747
           */
1748
          public Builder setAmount(Long amount) {
1749
            this.amount = amount;
×
1750
            return this;
×
1751
          }
1752

1753
          /**
1754
           * <strong>Required.</strong> Three-letter <a
1755
           * href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in
1756
           * lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported
1757
           * currency</a>.
1758
           */
1759
          public Builder setCurrency(String currency) {
1760
            this.currency = currency;
×
1761
            return this;
×
1762
          }
1763

1764
          /**
1765
           * <strong>Required.</strong> Three-letter <a
1766
           * href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in
1767
           * lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported
1768
           * currency</a>.
1769
           */
1770
          public Builder setCurrency(EmptyParam currency) {
1771
            this.currency = currency;
×
1772
            return this;
×
1773
          }
1774

1775
          /**
1776
           * Add a key/value pair to `currencyOptions` map. A map is initialized for the first
1777
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1778
           * map. See {@link
1779
           * SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount#currencyOptions} for
1780
           * the field documentation.
1781
           */
1782
          public Builder putCurrencyOption(
1783
              String key,
1784
              SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption
1785
                  value) {
1786
            if (this.currencyOptions == null) {
×
1787
              this.currencyOptions = new HashMap<>();
×
1788
            }
1789
            this.currencyOptions.put(key, value);
×
1790
            return this;
×
1791
          }
1792

1793
          /**
1794
           * Add all map key/value pairs to `currencyOptions` map. A map is initialized for the
1795
           * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
1796
           * original map. See {@link
1797
           * SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount#currencyOptions} for
1798
           * the field documentation.
1799
           */
1800
          public Builder putAllCurrencyOption(
1801
              Map<
1802
                      String,
1803
                      SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount
1804
                          .CurrencyOption>
1805
                  map) {
1806
            if (this.currencyOptions == null) {
×
1807
              this.currencyOptions = new HashMap<>();
×
1808
            }
1809
            this.currencyOptions.putAll(map);
×
1810
            return this;
×
1811
          }
1812

1813
          /**
1814
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
1815
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1816
           * map. See {@link
1817
           * SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount#extraParams} for the
1818
           * field documentation.
1819
           */
1820
          public Builder putExtraParam(String key, Object value) {
1821
            if (this.extraParams == null) {
×
1822
              this.extraParams = new HashMap<>();
×
1823
            }
1824
            this.extraParams.put(key, value);
×
1825
            return this;
×
1826
          }
1827

1828
          /**
1829
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1830
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1831
           * map. See {@link
1832
           * SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount#extraParams} for the
1833
           * field documentation.
1834
           */
1835
          public Builder putAllExtraParam(Map<String, Object> map) {
1836
            if (this.extraParams == null) {
×
1837
              this.extraParams = new HashMap<>();
×
1838
            }
1839
            this.extraParams.putAll(map);
×
1840
            return this;
×
1841
          }
1842
        }
1843

1844
        @Getter
1845
        public static class CurrencyOption {
1846
          /**
1847
           * <strong>Required.</strong> A non-negative integer in cents representing how much to
1848
           * charge.
1849
           */
1850
          @SerializedName("amount")
1851
          Long amount;
1852

1853
          /**
1854
           * Map of extra parameters for custom features not available in this client library. The
1855
           * content in this map is not serialized under this field's {@code @SerializedName} value.
1856
           * Instead, each key/value pair is serialized as if the key is a root-level field
1857
           * (serialized) name in this param object. Effectively, this map is flattened to its
1858
           * parent instance.
1859
           */
1860
          @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1861
          Map<String, Object> extraParams;
1862

1863
          /**
1864
           * Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One
1865
           * of {@code inclusive}, {@code exclusive}, or {@code unspecified}.
1866
           */
1867
          @SerializedName("tax_behavior")
1868
          TaxBehavior taxBehavior;
1869

1870
          private CurrencyOption(
1871
              Long amount, Map<String, Object> extraParams, TaxBehavior taxBehavior) {
×
1872
            this.amount = amount;
×
1873
            this.extraParams = extraParams;
×
1874
            this.taxBehavior = taxBehavior;
×
1875
          }
×
1876

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

1881
          public static class Builder {
×
1882
            private Long amount;
1883

1884
            private Map<String, Object> extraParams;
1885

1886
            private TaxBehavior taxBehavior;
1887

1888
            /** Finalize and obtain parameter instance from this builder. */
1889
            public SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption
1890
                build() {
1891
              return new SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount
×
1892
                  .CurrencyOption(this.amount, this.extraParams, this.taxBehavior);
1893
            }
1894

1895
            /**
1896
             * <strong>Required.</strong> A non-negative integer in cents representing how much to
1897
             * charge.
1898
             */
1899
            public Builder setAmount(Long amount) {
1900
              this.amount = amount;
×
1901
              return this;
×
1902
            }
1903

1904
            /**
1905
             * Add a key/value pair to `extraParams` map. A map is initialized for the first
1906
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1907
             * original map. See {@link
1908
             * SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption#extraParams}
1909
             * for the field documentation.
1910
             */
1911
            public Builder putExtraParam(String key, Object value) {
1912
              if (this.extraParams == null) {
×
1913
                this.extraParams = new HashMap<>();
×
1914
              }
1915
              this.extraParams.put(key, value);
×
1916
              return this;
×
1917
            }
1918

1919
            /**
1920
             * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
1921
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1922
             * original map. See {@link
1923
             * SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption#extraParams}
1924
             * for the field documentation.
1925
             */
1926
            public Builder putAllExtraParam(Map<String, Object> map) {
1927
              if (this.extraParams == null) {
×
1928
                this.extraParams = new HashMap<>();
×
1929
              }
1930
              this.extraParams.putAll(map);
×
1931
              return this;
×
1932
            }
1933

1934
            /**
1935
             * Specifies whether the rate is considered inclusive of taxes or exclusive of taxes.
1936
             * One of {@code inclusive}, {@code exclusive}, or {@code unspecified}.
1937
             */
1938
            public Builder setTaxBehavior(
1939
                SessionUpdateParams.ShippingOption.ShippingRateData.FixedAmount.CurrencyOption
1940
                        .TaxBehavior
1941
                    taxBehavior) {
1942
              this.taxBehavior = taxBehavior;
×
1943
              return this;
×
1944
            }
1945
          }
1946

1947
          public enum TaxBehavior implements ApiRequestParams.EnumParam {
×
1948
            @SerializedName("exclusive")
×
1949
            EXCLUSIVE("exclusive"),
1950

1951
            @SerializedName("inclusive")
×
1952
            INCLUSIVE("inclusive"),
1953

1954
            @SerializedName("unspecified")
×
1955
            UNSPECIFIED("unspecified");
1956

1957
            @Getter(onMethod_ = {@Override})
1958
            private final String value;
1959

1960
            TaxBehavior(String value) {
×
1961
              this.value = value;
×
1962
            }
×
1963
          }
1964
        }
1965
      }
1966

1967
      public enum TaxBehavior implements ApiRequestParams.EnumParam {
×
1968
        @SerializedName("exclusive")
×
1969
        EXCLUSIVE("exclusive"),
1970

1971
        @SerializedName("inclusive")
×
1972
        INCLUSIVE("inclusive"),
1973

1974
        @SerializedName("unspecified")
×
1975
        UNSPECIFIED("unspecified");
1976

1977
        @Getter(onMethod_ = {@Override})
1978
        private final String value;
1979

1980
        TaxBehavior(String value) {
×
1981
          this.value = value;
×
1982
        }
×
1983
      }
1984

1985
      public enum Type implements ApiRequestParams.EnumParam {
×
1986
        @SerializedName("fixed_amount")
×
1987
        FIXED_AMOUNT("fixed_amount");
1988

1989
        @Getter(onMethod_ = {@Override})
1990
        private final String value;
1991

1992
        Type(String value) {
×
1993
          this.value = value;
×
1994
        }
×
1995
      }
1996
    }
1997
  }
1998
}
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