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

stripe / stripe-java / #16707

14 Dec 2024 12:12AM UTC coverage: 15.91% (-0.08%) from 15.988%
#16707

Pull #1931

github

web-flow
Merge 90c2dfd77 into cf528f2c8
Pull Request #1931: Update generated code

43 of 1442 new or added lines in 28 files covered. (2.98%)

137 existing lines in 17 files now uncovered.

18625 of 117068 relevant lines covered (15.91%)

0.16 hits per line

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

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

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

13
@Getter
14
public class DisputeUpdateParams extends ApiRequestParams {
15
  /**
16
   * Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all
17
   * fields in the hash for review. The combined character count of all fields is limited to
18
   * 150,000.
19
   */
20
  @SerializedName("evidence")
21
  Evidence evidence;
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
   * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
38
   * to an object. This can be useful for storing additional information about the object in a
39
   * structured format. Individual keys can be unset by posting an empty value to them. All keys can
40
   * be unset by posting an empty value to {@code metadata}.
41
   */
42
  @SerializedName("metadata")
43
  Object metadata;
44

45
  /**
46
   * Whether to immediately submit evidence to the bank. If {@code false}, evidence is staged on the
47
   * dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank
48
   * by making another request with this attribute set to {@code true} (the default).
49
   */
50
  @SerializedName("submit")
51
  Boolean submit;
52

53
  private DisputeUpdateParams(
54
      Evidence evidence,
55
      List<String> expand,
56
      Map<String, Object> extraParams,
57
      Object metadata,
58
      Boolean submit) {
1✔
59
    this.evidence = evidence;
1✔
60
    this.expand = expand;
1✔
61
    this.extraParams = extraParams;
1✔
62
    this.metadata = metadata;
1✔
63
    this.submit = submit;
1✔
64
  }
1✔
65

66
  public static Builder builder() {
67
    return new Builder();
1✔
68
  }
69

70
  public static class Builder {
1✔
71
    private Evidence evidence;
72

73
    private List<String> expand;
74

75
    private Map<String, Object> extraParams;
76

77
    private Object metadata;
78

79
    private Boolean submit;
80

81
    /** Finalize and obtain parameter instance from this builder. */
82
    public DisputeUpdateParams build() {
83
      return new DisputeUpdateParams(
1✔
84
          this.evidence, this.expand, this.extraParams, this.metadata, this.submit);
85
    }
86

87
    /**
88
     * Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all
89
     * fields in the hash for review. The combined character count of all fields is limited to
90
     * 150,000.
91
     */
92
    public Builder setEvidence(DisputeUpdateParams.Evidence evidence) {
93
      this.evidence = evidence;
×
94
      return this;
×
95
    }
96

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

110
    /**
111
     * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and
112
     * subsequent calls adds additional elements to the original list. See {@link
113
     * DisputeUpdateParams#expand} for the field documentation.
114
     */
115
    public Builder addAllExpand(List<String> elements) {
116
      if (this.expand == null) {
×
117
        this.expand = new ArrayList<>();
×
118
      }
119
      this.expand.addAll(elements);
×
120
      return this;
×
121
    }
122

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

136
    /**
137
     * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
138
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
139
     * See {@link DisputeUpdateParams#extraParams} for the field documentation.
140
     */
141
    public Builder putAllExtraParam(Map<String, Object> map) {
142
      if (this.extraParams == null) {
×
143
        this.extraParams = new HashMap<>();
×
144
      }
145
      this.extraParams.putAll(map);
×
146
      return this;
×
147
    }
148

149
    /**
150
     * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call,
151
     * and subsequent calls add additional key/value pairs to the original map. See {@link
152
     * DisputeUpdateParams#metadata} for the field documentation.
153
     */
154
    @SuppressWarnings("unchecked")
155
    public Builder putMetadata(String key, String value) {
156
      if (this.metadata == null || this.metadata instanceof EmptyParam) {
1✔
157
        this.metadata = new HashMap<String, String>();
1✔
158
      }
159
      ((Map<String, String>) this.metadata).put(key, value);
1✔
160
      return this;
1✔
161
    }
162

163
    /**
164
     * Add all map key/value pairs to `metadata` map. A map is initialized for the first
165
     * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
166
     * See {@link DisputeUpdateParams#metadata} for the field documentation.
167
     */
168
    @SuppressWarnings("unchecked")
169
    public Builder putAllMetadata(Map<String, String> map) {
170
      if (this.metadata == null || this.metadata instanceof EmptyParam) {
×
171
        this.metadata = new HashMap<String, String>();
×
172
      }
173
      ((Map<String, String>) this.metadata).putAll(map);
×
174
      return this;
×
175
    }
176

177
    /**
178
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
179
     * to an object. This can be useful for storing additional information about the object in a
180
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
181
     * can be unset by posting an empty value to {@code metadata}.
182
     */
183
    public Builder setMetadata(EmptyParam metadata) {
184
      this.metadata = metadata;
×
185
      return this;
×
186
    }
187

188
    /**
189
     * Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach
190
     * to an object. This can be useful for storing additional information about the object in a
191
     * structured format. Individual keys can be unset by posting an empty value to them. All keys
192
     * can be unset by posting an empty value to {@code metadata}.
193
     */
194
    public Builder setMetadata(Map<String, String> metadata) {
195
      this.metadata = metadata;
×
196
      return this;
×
197
    }
198

199
    /**
200
     * Whether to immediately submit evidence to the bank. If {@code false}, evidence is staged on
201
     * the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the
202
     * bank by making another request with this attribute set to {@code true} (the default).
203
     */
204
    public Builder setSubmit(Boolean submit) {
205
      this.submit = submit;
×
206
      return this;
×
207
    }
208
  }
209

210
  @Getter
211
  public static class Evidence {
212
    /**
213
     * Any server or activity logs showing proof that the customer accessed or downloaded the
214
     * purchased digital product. This information should include IP addresses, corresponding
215
     * timestamps, and any detailed recorded activity. Has a maximum character count of 20,000.
216
     */
217
    @SerializedName("access_activity_log")
218
    Object accessActivityLog;
219

220
    /** The billing address provided by the customer. */
221
    @SerializedName("billing_address")
222
    Object billingAddress;
223

224
    /**
225
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Your
226
     * subscription cancellation policy, as shown to the customer.
227
     */
228
    @SerializedName("cancellation_policy")
229
    Object cancellationPolicy;
230

231
    /**
232
     * An explanation of how and when the customer was shown your refund policy prior to purchase.
233
     * Has a maximum character count of 20,000.
234
     */
235
    @SerializedName("cancellation_policy_disclosure")
236
    Object cancellationPolicyDisclosure;
237

238
    /**
239
     * A justification for why the customer's subscription was not canceled. Has a maximum character
240
     * count of 20,000.
241
     */
242
    @SerializedName("cancellation_rebuttal")
243
    Object cancellationRebuttal;
244

245
    /**
246
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any
247
     * communication with the customer that you feel is relevant to your case. Examples include
248
     * emails proving that the customer received the product or service, or demonstrating their use
249
     * of or satisfaction with the product or service.
250
     */
251
    @SerializedName("customer_communication")
252
    Object customerCommunication;
253

254
    /** The email address of the customer. */
255
    @SerializedName("customer_email_address")
256
    Object customerEmailAddress;
257

258
    /** The name of the customer. */
259
    @SerializedName("customer_name")
260
    Object customerName;
261

262
    /** The IP address that the customer used when making the purchase. */
263
    @SerializedName("customer_purchase_ip")
264
    Object customerPurchaseIp;
265

266
    /**
267
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) A relevant
268
     * document or contract showing the customer's signature.
269
     */
270
    @SerializedName("customer_signature")
271
    Object customerSignature;
272

273
    /**
274
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Documentation
275
     * for the prior charge that can uniquely identify the charge, such as a receipt, shipping
276
     * label, work order, etc. This document should be paired with a similar document from the
277
     * disputed payment that proves the two payments are separate.
278
     */
279
    @SerializedName("duplicate_charge_documentation")
280
    Object duplicateChargeDocumentation;
281

282
    /**
283
     * An explanation of the difference between the disputed charge versus the prior charge that
284
     * appears to be a duplicate. Has a maximum character count of 20,000.
285
     */
286
    @SerializedName("duplicate_charge_explanation")
287
    Object duplicateChargeExplanation;
288

289
    /**
290
     * The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.
291
     */
292
    @SerializedName("duplicate_charge_id")
293
    Object duplicateChargeId;
294

295
    /** Additional evidence for qualifying evidence programs. */
296
    @SerializedName("enhanced_evidence")
297
    Object enhancedEvidence;
298

299
    /**
300
     * Map of extra parameters for custom features not available in this client library. The content
301
     * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
302
     * key/value pair is serialized as if the key is a root-level field (serialized) name in this
303
     * param object. Effectively, this map is flattened to its parent instance.
304
     */
305
    @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
306
    Map<String, Object> extraParams;
307

308
    /**
309
     * A description of the product or service that was sold. Has a maximum character count of
310
     * 20,000.
311
     */
312
    @SerializedName("product_description")
313
    Object productDescription;
314

315
    /**
316
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any receipt or
317
     * message sent to the customer notifying them of the charge.
318
     */
319
    @SerializedName("receipt")
320
    Object receipt;
321

322
    /**
323
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Your refund
324
     * policy, as shown to the customer.
325
     */
326
    @SerializedName("refund_policy")
327
    Object refundPolicy;
328

329
    /**
330
     * Documentation demonstrating that the customer was shown your refund policy prior to purchase.
331
     * Has a maximum character count of 20,000.
332
     */
333
    @SerializedName("refund_policy_disclosure")
334
    Object refundPolicyDisclosure;
335

336
    /**
337
     * A justification for why the customer is not entitled to a refund. Has a maximum character
338
     * count of 20,000.
339
     */
340
    @SerializedName("refund_refusal_explanation")
341
    Object refundRefusalExplanation;
342

343
    /**
344
     * The date on which the customer received or began receiving the purchased service, in a clear
345
     * human-readable format.
346
     */
347
    @SerializedName("service_date")
348
    Object serviceDate;
349

350
    /**
351
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Documentation
352
     * showing proof that a service was provided to the customer. This could include a copy of a
353
     * signed contract, work order, or other form of written agreement.
354
     */
355
    @SerializedName("service_documentation")
356
    Object serviceDocumentation;
357

358
    /**
359
     * The address to which a physical product was shipped. You should try to include as complete
360
     * address information as possible.
361
     */
362
    @SerializedName("shipping_address")
363
    Object shippingAddress;
364

365
    /**
366
     * The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If
367
     * multiple carriers were used for this purchase, please separate them with commas.
368
     */
369
    @SerializedName("shipping_carrier")
370
    Object shippingCarrier;
371

372
    /**
373
     * The date on which a physical product began its route to the shipping address, in a clear
374
     * human-readable format.
375
     */
376
    @SerializedName("shipping_date")
377
    Object shippingDate;
378

379
    /**
380
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Documentation
381
     * showing proof that a product was shipped to the customer at the same address the customer
382
     * provided to you. This could include a copy of the shipment receipt, shipping label, etc. It
383
     * should show the customer's full shipping address, if possible.
384
     */
385
    @SerializedName("shipping_documentation")
386
    Object shippingDocumentation;
387

388
    /**
389
     * The tracking number for a physical product, obtained from the delivery service. If multiple
390
     * tracking numbers were generated for this purchase, please separate them with commas.
391
     */
392
    @SerializedName("shipping_tracking_number")
393
    Object shippingTrackingNumber;
394

395
    /**
396
     * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any additional
397
     * evidence or statements.
398
     */
399
    @SerializedName("uncategorized_file")
400
    Object uncategorizedFile;
401

402
    /** Any additional evidence or statements. Has a maximum character count of 20,000. */
403
    @SerializedName("uncategorized_text")
404
    Object uncategorizedText;
405

406
    private Evidence(
407
        Object accessActivityLog,
408
        Object billingAddress,
409
        Object cancellationPolicy,
410
        Object cancellationPolicyDisclosure,
411
        Object cancellationRebuttal,
412
        Object customerCommunication,
413
        Object customerEmailAddress,
414
        Object customerName,
415
        Object customerPurchaseIp,
416
        Object customerSignature,
417
        Object duplicateChargeDocumentation,
418
        Object duplicateChargeExplanation,
419
        Object duplicateChargeId,
420
        Object enhancedEvidence,
421
        Map<String, Object> extraParams,
422
        Object productDescription,
423
        Object receipt,
424
        Object refundPolicy,
425
        Object refundPolicyDisclosure,
426
        Object refundRefusalExplanation,
427
        Object serviceDate,
428
        Object serviceDocumentation,
429
        Object shippingAddress,
430
        Object shippingCarrier,
431
        Object shippingDate,
432
        Object shippingDocumentation,
433
        Object shippingTrackingNumber,
434
        Object uncategorizedFile,
435
        Object uncategorizedText) {
×
436
      this.accessActivityLog = accessActivityLog;
×
437
      this.billingAddress = billingAddress;
×
438
      this.cancellationPolicy = cancellationPolicy;
×
439
      this.cancellationPolicyDisclosure = cancellationPolicyDisclosure;
×
440
      this.cancellationRebuttal = cancellationRebuttal;
×
441
      this.customerCommunication = customerCommunication;
×
442
      this.customerEmailAddress = customerEmailAddress;
×
443
      this.customerName = customerName;
×
444
      this.customerPurchaseIp = customerPurchaseIp;
×
445
      this.customerSignature = customerSignature;
×
446
      this.duplicateChargeDocumentation = duplicateChargeDocumentation;
×
447
      this.duplicateChargeExplanation = duplicateChargeExplanation;
×
448
      this.duplicateChargeId = duplicateChargeId;
×
449
      this.enhancedEvidence = enhancedEvidence;
×
450
      this.extraParams = extraParams;
×
451
      this.productDescription = productDescription;
×
452
      this.receipt = receipt;
×
453
      this.refundPolicy = refundPolicy;
×
454
      this.refundPolicyDisclosure = refundPolicyDisclosure;
×
455
      this.refundRefusalExplanation = refundRefusalExplanation;
×
456
      this.serviceDate = serviceDate;
×
457
      this.serviceDocumentation = serviceDocumentation;
×
458
      this.shippingAddress = shippingAddress;
×
459
      this.shippingCarrier = shippingCarrier;
×
460
      this.shippingDate = shippingDate;
×
461
      this.shippingDocumentation = shippingDocumentation;
×
462
      this.shippingTrackingNumber = shippingTrackingNumber;
×
463
      this.uncategorizedFile = uncategorizedFile;
×
464
      this.uncategorizedText = uncategorizedText;
×
465
    }
×
466

467
    public static Builder builder() {
468
      return new Builder();
×
469
    }
470

471
    public static class Builder {
×
472
      private Object accessActivityLog;
473

474
      private Object billingAddress;
475

476
      private Object cancellationPolicy;
477

478
      private Object cancellationPolicyDisclosure;
479

480
      private Object cancellationRebuttal;
481

482
      private Object customerCommunication;
483

484
      private Object customerEmailAddress;
485

486
      private Object customerName;
487

488
      private Object customerPurchaseIp;
489

490
      private Object customerSignature;
491

492
      private Object duplicateChargeDocumentation;
493

494
      private Object duplicateChargeExplanation;
495

496
      private Object duplicateChargeId;
497

498
      private Object enhancedEvidence;
499

500
      private Map<String, Object> extraParams;
501

502
      private Object productDescription;
503

504
      private Object receipt;
505

506
      private Object refundPolicy;
507

508
      private Object refundPolicyDisclosure;
509

510
      private Object refundRefusalExplanation;
511

512
      private Object serviceDate;
513

514
      private Object serviceDocumentation;
515

516
      private Object shippingAddress;
517

518
      private Object shippingCarrier;
519

520
      private Object shippingDate;
521

522
      private Object shippingDocumentation;
523

524
      private Object shippingTrackingNumber;
525

526
      private Object uncategorizedFile;
527

528
      private Object uncategorizedText;
529

530
      /** Finalize and obtain parameter instance from this builder. */
531
      public DisputeUpdateParams.Evidence build() {
532
        return new DisputeUpdateParams.Evidence(
×
533
            this.accessActivityLog,
534
            this.billingAddress,
535
            this.cancellationPolicy,
536
            this.cancellationPolicyDisclosure,
537
            this.cancellationRebuttal,
538
            this.customerCommunication,
539
            this.customerEmailAddress,
540
            this.customerName,
541
            this.customerPurchaseIp,
542
            this.customerSignature,
543
            this.duplicateChargeDocumentation,
544
            this.duplicateChargeExplanation,
545
            this.duplicateChargeId,
546
            this.enhancedEvidence,
547
            this.extraParams,
548
            this.productDescription,
549
            this.receipt,
550
            this.refundPolicy,
551
            this.refundPolicyDisclosure,
552
            this.refundRefusalExplanation,
553
            this.serviceDate,
554
            this.serviceDocumentation,
555
            this.shippingAddress,
556
            this.shippingCarrier,
557
            this.shippingDate,
558
            this.shippingDocumentation,
559
            this.shippingTrackingNumber,
560
            this.uncategorizedFile,
561
            this.uncategorizedText);
562
      }
563

564
      /**
565
       * Any server or activity logs showing proof that the customer accessed or downloaded the
566
       * purchased digital product. This information should include IP addresses, corresponding
567
       * timestamps, and any detailed recorded activity. Has a maximum character count of 20,000.
568
       */
569
      public Builder setAccessActivityLog(String accessActivityLog) {
570
        this.accessActivityLog = accessActivityLog;
×
571
        return this;
×
572
      }
573

574
      /**
575
       * Any server or activity logs showing proof that the customer accessed or downloaded the
576
       * purchased digital product. This information should include IP addresses, corresponding
577
       * timestamps, and any detailed recorded activity. Has a maximum character count of 20,000.
578
       */
579
      public Builder setAccessActivityLog(EmptyParam accessActivityLog) {
580
        this.accessActivityLog = accessActivityLog;
×
581
        return this;
×
582
      }
583

584
      /** The billing address provided by the customer. */
585
      public Builder setBillingAddress(String billingAddress) {
586
        this.billingAddress = billingAddress;
×
587
        return this;
×
588
      }
589

590
      /** The billing address provided by the customer. */
591
      public Builder setBillingAddress(EmptyParam billingAddress) {
592
        this.billingAddress = billingAddress;
×
593
        return this;
×
594
      }
595

596
      /**
597
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Your
598
       * subscription cancellation policy, as shown to the customer.
599
       */
600
      public Builder setCancellationPolicy(String cancellationPolicy) {
601
        this.cancellationPolicy = cancellationPolicy;
×
602
        return this;
×
603
      }
604

605
      /**
606
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Your
607
       * subscription cancellation policy, as shown to the customer.
608
       */
609
      public Builder setCancellationPolicy(EmptyParam cancellationPolicy) {
610
        this.cancellationPolicy = cancellationPolicy;
×
611
        return this;
×
612
      }
613

614
      /**
615
       * An explanation of how and when the customer was shown your refund policy prior to purchase.
616
       * Has a maximum character count of 20,000.
617
       */
618
      public Builder setCancellationPolicyDisclosure(String cancellationPolicyDisclosure) {
619
        this.cancellationPolicyDisclosure = cancellationPolicyDisclosure;
×
620
        return this;
×
621
      }
622

623
      /**
624
       * An explanation of how and when the customer was shown your refund policy prior to purchase.
625
       * Has a maximum character count of 20,000.
626
       */
627
      public Builder setCancellationPolicyDisclosure(EmptyParam cancellationPolicyDisclosure) {
628
        this.cancellationPolicyDisclosure = cancellationPolicyDisclosure;
×
629
        return this;
×
630
      }
631

632
      /**
633
       * A justification for why the customer's subscription was not canceled. Has a maximum
634
       * character count of 20,000.
635
       */
636
      public Builder setCancellationRebuttal(String cancellationRebuttal) {
637
        this.cancellationRebuttal = cancellationRebuttal;
×
638
        return this;
×
639
      }
640

641
      /**
642
       * A justification for why the customer's subscription was not canceled. Has a maximum
643
       * character count of 20,000.
644
       */
645
      public Builder setCancellationRebuttal(EmptyParam cancellationRebuttal) {
646
        this.cancellationRebuttal = cancellationRebuttal;
×
647
        return this;
×
648
      }
649

650
      /**
651
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any
652
       * communication with the customer that you feel is relevant to your case. Examples include
653
       * emails proving that the customer received the product or service, or demonstrating their
654
       * use of or satisfaction with the product or service.
655
       */
656
      public Builder setCustomerCommunication(String customerCommunication) {
657
        this.customerCommunication = customerCommunication;
×
658
        return this;
×
659
      }
660

661
      /**
662
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any
663
       * communication with the customer that you feel is relevant to your case. Examples include
664
       * emails proving that the customer received the product or service, or demonstrating their
665
       * use of or satisfaction with the product or service.
666
       */
667
      public Builder setCustomerCommunication(EmptyParam customerCommunication) {
668
        this.customerCommunication = customerCommunication;
×
669
        return this;
×
670
      }
671

672
      /** The email address of the customer. */
673
      public Builder setCustomerEmailAddress(String customerEmailAddress) {
674
        this.customerEmailAddress = customerEmailAddress;
×
675
        return this;
×
676
      }
677

678
      /** The email address of the customer. */
679
      public Builder setCustomerEmailAddress(EmptyParam customerEmailAddress) {
680
        this.customerEmailAddress = customerEmailAddress;
×
681
        return this;
×
682
      }
683

684
      /** The name of the customer. */
685
      public Builder setCustomerName(String customerName) {
686
        this.customerName = customerName;
×
687
        return this;
×
688
      }
689

690
      /** The name of the customer. */
691
      public Builder setCustomerName(EmptyParam customerName) {
692
        this.customerName = customerName;
×
693
        return this;
×
694
      }
695

696
      /** The IP address that the customer used when making the purchase. */
697
      public Builder setCustomerPurchaseIp(String customerPurchaseIp) {
698
        this.customerPurchaseIp = customerPurchaseIp;
×
699
        return this;
×
700
      }
701

702
      /** The IP address that the customer used when making the purchase. */
703
      public Builder setCustomerPurchaseIp(EmptyParam customerPurchaseIp) {
704
        this.customerPurchaseIp = customerPurchaseIp;
×
705
        return this;
×
706
      }
707

708
      /**
709
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) A relevant
710
       * document or contract showing the customer's signature.
711
       */
712
      public Builder setCustomerSignature(String customerSignature) {
713
        this.customerSignature = customerSignature;
×
714
        return this;
×
715
      }
716

717
      /**
718
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) A relevant
719
       * document or contract showing the customer's signature.
720
       */
721
      public Builder setCustomerSignature(EmptyParam customerSignature) {
722
        this.customerSignature = customerSignature;
×
723
        return this;
×
724
      }
725

726
      /**
727
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>)
728
       * Documentation for the prior charge that can uniquely identify the charge, such as a
729
       * receipt, shipping label, work order, etc. This document should be paired with a similar
730
       * document from the disputed payment that proves the two payments are separate.
731
       */
732
      public Builder setDuplicateChargeDocumentation(String duplicateChargeDocumentation) {
733
        this.duplicateChargeDocumentation = duplicateChargeDocumentation;
×
734
        return this;
×
735
      }
736

737
      /**
738
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>)
739
       * Documentation for the prior charge that can uniquely identify the charge, such as a
740
       * receipt, shipping label, work order, etc. This document should be paired with a similar
741
       * document from the disputed payment that proves the two payments are separate.
742
       */
743
      public Builder setDuplicateChargeDocumentation(EmptyParam duplicateChargeDocumentation) {
744
        this.duplicateChargeDocumentation = duplicateChargeDocumentation;
×
745
        return this;
×
746
      }
747

748
      /**
749
       * An explanation of the difference between the disputed charge versus the prior charge that
750
       * appears to be a duplicate. Has a maximum character count of 20,000.
751
       */
752
      public Builder setDuplicateChargeExplanation(String duplicateChargeExplanation) {
753
        this.duplicateChargeExplanation = duplicateChargeExplanation;
×
754
        return this;
×
755
      }
756

757
      /**
758
       * An explanation of the difference between the disputed charge versus the prior charge that
759
       * appears to be a duplicate. Has a maximum character count of 20,000.
760
       */
761
      public Builder setDuplicateChargeExplanation(EmptyParam duplicateChargeExplanation) {
762
        this.duplicateChargeExplanation = duplicateChargeExplanation;
×
763
        return this;
×
764
      }
765

766
      /**
767
       * The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.
768
       */
769
      public Builder setDuplicateChargeId(String duplicateChargeId) {
770
        this.duplicateChargeId = duplicateChargeId;
×
771
        return this;
×
772
      }
773

774
      /**
775
       * The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.
776
       */
777
      public Builder setDuplicateChargeId(EmptyParam duplicateChargeId) {
778
        this.duplicateChargeId = duplicateChargeId;
×
779
        return this;
×
780
      }
781

782
      /** Additional evidence for qualifying evidence programs. */
783
      public Builder setEnhancedEvidence(
784
          DisputeUpdateParams.Evidence.EnhancedEvidence enhancedEvidence) {
785
        this.enhancedEvidence = enhancedEvidence;
×
786
        return this;
×
787
      }
788

789
      /** Additional evidence for qualifying evidence programs. */
790
      public Builder setEnhancedEvidence(EmptyParam enhancedEvidence) {
791
        this.enhancedEvidence = enhancedEvidence;
×
792
        return this;
×
793
      }
794

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

808
      /**
809
       * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
810
       * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
811
       * See {@link DisputeUpdateParams.Evidence#extraParams} for the field documentation.
812
       */
813
      public Builder putAllExtraParam(Map<String, Object> map) {
814
        if (this.extraParams == null) {
×
815
          this.extraParams = new HashMap<>();
×
816
        }
817
        this.extraParams.putAll(map);
×
818
        return this;
×
819
      }
820

821
      /**
822
       * A description of the product or service that was sold. Has a maximum character count of
823
       * 20,000.
824
       */
825
      public Builder setProductDescription(String productDescription) {
826
        this.productDescription = productDescription;
×
827
        return this;
×
828
      }
829

830
      /**
831
       * A description of the product or service that was sold. Has a maximum character count of
832
       * 20,000.
833
       */
834
      public Builder setProductDescription(EmptyParam productDescription) {
835
        this.productDescription = productDescription;
×
836
        return this;
×
837
      }
838

839
      /**
840
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any receipt
841
       * or message sent to the customer notifying them of the charge.
842
       */
843
      public Builder setReceipt(String receipt) {
844
        this.receipt = receipt;
×
845
        return this;
×
846
      }
847

848
      /**
849
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any receipt
850
       * or message sent to the customer notifying them of the charge.
851
       */
852
      public Builder setReceipt(EmptyParam receipt) {
853
        this.receipt = receipt;
×
854
        return this;
×
855
      }
856

857
      /**
858
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Your refund
859
       * policy, as shown to the customer.
860
       */
861
      public Builder setRefundPolicy(String refundPolicy) {
862
        this.refundPolicy = refundPolicy;
×
863
        return this;
×
864
      }
865

866
      /**
867
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Your refund
868
       * policy, as shown to the customer.
869
       */
870
      public Builder setRefundPolicy(EmptyParam refundPolicy) {
871
        this.refundPolicy = refundPolicy;
×
872
        return this;
×
873
      }
874

875
      /**
876
       * Documentation demonstrating that the customer was shown your refund policy prior to
877
       * purchase. Has a maximum character count of 20,000.
878
       */
879
      public Builder setRefundPolicyDisclosure(String refundPolicyDisclosure) {
880
        this.refundPolicyDisclosure = refundPolicyDisclosure;
×
881
        return this;
×
882
      }
883

884
      /**
885
       * Documentation demonstrating that the customer was shown your refund policy prior to
886
       * purchase. Has a maximum character count of 20,000.
887
       */
888
      public Builder setRefundPolicyDisclosure(EmptyParam refundPolicyDisclosure) {
889
        this.refundPolicyDisclosure = refundPolicyDisclosure;
×
890
        return this;
×
891
      }
892

893
      /**
894
       * A justification for why the customer is not entitled to a refund. Has a maximum character
895
       * count of 20,000.
896
       */
897
      public Builder setRefundRefusalExplanation(String refundRefusalExplanation) {
898
        this.refundRefusalExplanation = refundRefusalExplanation;
×
899
        return this;
×
900
      }
901

902
      /**
903
       * A justification for why the customer is not entitled to a refund. Has a maximum character
904
       * count of 20,000.
905
       */
906
      public Builder setRefundRefusalExplanation(EmptyParam refundRefusalExplanation) {
907
        this.refundRefusalExplanation = refundRefusalExplanation;
×
908
        return this;
×
909
      }
910

911
      /**
912
       * The date on which the customer received or began receiving the purchased service, in a
913
       * clear human-readable format.
914
       */
915
      public Builder setServiceDate(String serviceDate) {
916
        this.serviceDate = serviceDate;
×
917
        return this;
×
918
      }
919

920
      /**
921
       * The date on which the customer received or began receiving the purchased service, in a
922
       * clear human-readable format.
923
       */
924
      public Builder setServiceDate(EmptyParam serviceDate) {
925
        this.serviceDate = serviceDate;
×
926
        return this;
×
927
      }
928

929
      /**
930
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>)
931
       * Documentation showing proof that a service was provided to the customer. This could include
932
       * a copy of a signed contract, work order, or other form of written agreement.
933
       */
934
      public Builder setServiceDocumentation(String serviceDocumentation) {
935
        this.serviceDocumentation = serviceDocumentation;
×
936
        return this;
×
937
      }
938

939
      /**
940
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>)
941
       * Documentation showing proof that a service was provided to the customer. This could include
942
       * a copy of a signed contract, work order, or other form of written agreement.
943
       */
944
      public Builder setServiceDocumentation(EmptyParam serviceDocumentation) {
945
        this.serviceDocumentation = serviceDocumentation;
×
946
        return this;
×
947
      }
948

949
      /**
950
       * The address to which a physical product was shipped. You should try to include as complete
951
       * address information as possible.
952
       */
953
      public Builder setShippingAddress(String shippingAddress) {
954
        this.shippingAddress = shippingAddress;
×
955
        return this;
×
956
      }
957

958
      /**
959
       * The address to which a physical product was shipped. You should try to include as complete
960
       * address information as possible.
961
       */
962
      public Builder setShippingAddress(EmptyParam shippingAddress) {
963
        this.shippingAddress = shippingAddress;
×
964
        return this;
×
965
      }
966

967
      /**
968
       * The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If
969
       * multiple carriers were used for this purchase, please separate them with commas.
970
       */
971
      public Builder setShippingCarrier(String shippingCarrier) {
972
        this.shippingCarrier = shippingCarrier;
×
973
        return this;
×
974
      }
975

976
      /**
977
       * The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If
978
       * multiple carriers were used for this purchase, please separate them with commas.
979
       */
980
      public Builder setShippingCarrier(EmptyParam shippingCarrier) {
981
        this.shippingCarrier = shippingCarrier;
×
982
        return this;
×
983
      }
984

985
      /**
986
       * The date on which a physical product began its route to the shipping address, in a clear
987
       * human-readable format.
988
       */
989
      public Builder setShippingDate(String shippingDate) {
990
        this.shippingDate = shippingDate;
×
991
        return this;
×
992
      }
993

994
      /**
995
       * The date on which a physical product began its route to the shipping address, in a clear
996
       * human-readable format.
997
       */
998
      public Builder setShippingDate(EmptyParam shippingDate) {
999
        this.shippingDate = shippingDate;
×
1000
        return this;
×
1001
      }
1002

1003
      /**
1004
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>)
1005
       * Documentation showing proof that a product was shipped to the customer at the same address
1006
       * the customer provided to you. This could include a copy of the shipment receipt, shipping
1007
       * label, etc. It should show the customer's full shipping address, if possible.
1008
       */
1009
      public Builder setShippingDocumentation(String shippingDocumentation) {
1010
        this.shippingDocumentation = shippingDocumentation;
×
1011
        return this;
×
1012
      }
1013

1014
      /**
1015
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>)
1016
       * Documentation showing proof that a product was shipped to the customer at the same address
1017
       * the customer provided to you. This could include a copy of the shipment receipt, shipping
1018
       * label, etc. It should show the customer's full shipping address, if possible.
1019
       */
1020
      public Builder setShippingDocumentation(EmptyParam shippingDocumentation) {
1021
        this.shippingDocumentation = shippingDocumentation;
×
1022
        return this;
×
1023
      }
1024

1025
      /**
1026
       * The tracking number for a physical product, obtained from the delivery service. If multiple
1027
       * tracking numbers were generated for this purchase, please separate them with commas.
1028
       */
1029
      public Builder setShippingTrackingNumber(String shippingTrackingNumber) {
1030
        this.shippingTrackingNumber = shippingTrackingNumber;
×
1031
        return this;
×
1032
      }
1033

1034
      /**
1035
       * The tracking number for a physical product, obtained from the delivery service. If multiple
1036
       * tracking numbers were generated for this purchase, please separate them with commas.
1037
       */
1038
      public Builder setShippingTrackingNumber(EmptyParam shippingTrackingNumber) {
1039
        this.shippingTrackingNumber = shippingTrackingNumber;
×
1040
        return this;
×
1041
      }
1042

1043
      /**
1044
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any
1045
       * additional evidence or statements.
1046
       */
1047
      public Builder setUncategorizedFile(String uncategorizedFile) {
1048
        this.uncategorizedFile = uncategorizedFile;
×
1049
        return this;
×
1050
      }
1051

1052
      /**
1053
       * (ID of a <a href="https://stripe.com/docs/guides/file-upload">file upload</a>) Any
1054
       * additional evidence or statements.
1055
       */
1056
      public Builder setUncategorizedFile(EmptyParam uncategorizedFile) {
1057
        this.uncategorizedFile = uncategorizedFile;
×
1058
        return this;
×
1059
      }
1060

1061
      /** Any additional evidence or statements. Has a maximum character count of 20,000. */
1062
      public Builder setUncategorizedText(String uncategorizedText) {
1063
        this.uncategorizedText = uncategorizedText;
×
1064
        return this;
×
1065
      }
1066

1067
      /** Any additional evidence or statements. Has a maximum character count of 20,000. */
1068
      public Builder setUncategorizedText(EmptyParam uncategorizedText) {
1069
        this.uncategorizedText = uncategorizedText;
×
1070
        return this;
×
1071
      }
1072
    }
1073

1074
    @Getter
1075
    public static class EnhancedEvidence {
1076
      /**
1077
       * Map of extra parameters for custom features not available in this client library. The
1078
       * content in this map is not serialized under this field's {@code @SerializedName} value.
1079
       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
1080
       * name in this param object. Effectively, this map is flattened to its parent instance.
1081
       */
1082
      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1083
      Map<String, Object> extraParams;
1084

1085
      /** Evidence provided for Visa Compelling Evidence 3.0 evidence submission. */
1086
      @SerializedName("visa_compelling_evidence_3")
1087
      VisaCompellingEvidence3 visaCompellingEvidence3;
1088

1089
      /** Evidence provided for Visa compliance evidence submission. */
1090
      @SerializedName("visa_compliance")
1091
      VisaCompliance visaCompliance;
1092

1093
      private EnhancedEvidence(
1094
          Map<String, Object> extraParams,
1095
          VisaCompellingEvidence3 visaCompellingEvidence3,
NEW
1096
          VisaCompliance visaCompliance) {
×
1097
        this.extraParams = extraParams;
×
1098
        this.visaCompellingEvidence3 = visaCompellingEvidence3;
×
NEW
1099
        this.visaCompliance = visaCompliance;
×
UNCOV
1100
      }
×
1101

1102
      public static Builder builder() {
1103
        return new Builder();
×
1104
      }
1105

1106
      public static class Builder {
×
1107
        private Map<String, Object> extraParams;
1108

1109
        private VisaCompellingEvidence3 visaCompellingEvidence3;
1110

1111
        private VisaCompliance visaCompliance;
1112

1113
        /** Finalize and obtain parameter instance from this builder. */
1114
        public DisputeUpdateParams.Evidence.EnhancedEvidence build() {
1115
          return new DisputeUpdateParams.Evidence.EnhancedEvidence(
×
1116
              this.extraParams, this.visaCompellingEvidence3, this.visaCompliance);
1117
        }
1118

1119
        /**
1120
         * Add a key/value pair to `extraParams` map. A map is initialized for the first
1121
         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
1122
         * map. See {@link DisputeUpdateParams.Evidence.EnhancedEvidence#extraParams} for the field
1123
         * documentation.
1124
         */
1125
        public Builder putExtraParam(String key, Object value) {
1126
          if (this.extraParams == null) {
×
1127
            this.extraParams = new HashMap<>();
×
1128
          }
1129
          this.extraParams.put(key, value);
×
1130
          return this;
×
1131
        }
1132

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

1147
        /** Evidence provided for Visa Compelling Evidence 3.0 evidence submission. */
1148
        public Builder setVisaCompellingEvidence3(
1149
            DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1150
                visaCompellingEvidence3) {
1151
          this.visaCompellingEvidence3 = visaCompellingEvidence3;
×
1152
          return this;
×
1153
        }
1154

1155
        /** Evidence provided for Visa compliance evidence submission. */
1156
        public Builder setVisaCompliance(
1157
            DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance visaCompliance) {
NEW
1158
          this.visaCompliance = visaCompliance;
×
NEW
1159
          return this;
×
1160
        }
1161
      }
1162

1163
      @Getter
1164
      public static class VisaCompellingEvidence3 {
1165
        /** Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission. */
1166
        @SerializedName("disputed_transaction")
1167
        DisputedTransaction disputedTransaction;
1168

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

1179
        /**
1180
         * List of exactly two prior undisputed transaction objects for Visa Compelling Evidence 3.0
1181
         * evidence submission.
1182
         */
1183
        @SerializedName("prior_undisputed_transactions")
1184
        List<
1185
                DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1186
                    .PriorUndisputedTransaction>
1187
            priorUndisputedTransactions;
1188

1189
        private VisaCompellingEvidence3(
1190
            DisputedTransaction disputedTransaction,
1191
            Map<String, Object> extraParams,
1192
            List<
1193
                    DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1194
                        .PriorUndisputedTransaction>
1195
                priorUndisputedTransactions) {
×
1196
          this.disputedTransaction = disputedTransaction;
×
1197
          this.extraParams = extraParams;
×
1198
          this.priorUndisputedTransactions = priorUndisputedTransactions;
×
1199
        }
×
1200

1201
        public static Builder builder() {
1202
          return new Builder();
×
1203
        }
1204

1205
        public static class Builder {
×
1206
          private DisputedTransaction disputedTransaction;
1207

1208
          private Map<String, Object> extraParams;
1209

1210
          private List<
1211
                  DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1212
                      .PriorUndisputedTransaction>
1213
              priorUndisputedTransactions;
1214

1215
          /** Finalize and obtain parameter instance from this builder. */
1216
          public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3 build() {
1217
            return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3(
×
1218
                this.disputedTransaction, this.extraParams, this.priorUndisputedTransactions);
1219
          }
1220

1221
          /** Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission. */
1222
          public Builder setDisputedTransaction(
1223
              DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1224
                      .DisputedTransaction
1225
                  disputedTransaction) {
1226
            this.disputedTransaction = disputedTransaction;
×
1227
            return this;
×
1228
          }
1229

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

1245
          /**
1246
           * Add all map key/value pairs 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
1249
           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3#extraParams} for
1250
           * the field documentation.
1251
           */
1252
          public Builder putAllExtraParam(Map<String, Object> map) {
1253
            if (this.extraParams == null) {
×
1254
              this.extraParams = new HashMap<>();
×
1255
            }
1256
            this.extraParams.putAll(map);
×
1257
            return this;
×
1258
          }
1259

1260
          /**
1261
           * Add an element to `priorUndisputedTransactions` list. A list is initialized for the
1262
           * first `add/addAll` call, and subsequent calls adds additional elements to the original
1263
           * list. See {@link
1264
           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3#priorUndisputedTransactions}
1265
           * for the field documentation.
1266
           */
1267
          public Builder addPriorUndisputedTransaction(
1268
              DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1269
                      .PriorUndisputedTransaction
1270
                  element) {
1271
            if (this.priorUndisputedTransactions == null) {
×
1272
              this.priorUndisputedTransactions = new ArrayList<>();
×
1273
            }
1274
            this.priorUndisputedTransactions.add(element);
×
1275
            return this;
×
1276
          }
1277

1278
          /**
1279
           * Add all elements to `priorUndisputedTransactions` list. A list is initialized for the
1280
           * first `add/addAll` call, and subsequent calls adds additional elements to the original
1281
           * list. See {@link
1282
           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3#priorUndisputedTransactions}
1283
           * for the field documentation.
1284
           */
1285
          public Builder addAllPriorUndisputedTransaction(
1286
              List<
1287
                      DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1288
                          .PriorUndisputedTransaction>
1289
                  elements) {
1290
            if (this.priorUndisputedTransactions == null) {
×
1291
              this.priorUndisputedTransactions = new ArrayList<>();
×
1292
            }
1293
            this.priorUndisputedTransactions.addAll(elements);
×
1294
            return this;
×
1295
          }
1296
        }
1297

1298
        @Getter
1299
        public static class DisputedTransaction {
1300
          /**
1301
           * User Account ID used to log into business platform. Must be recognizable by the user.
1302
           */
1303
          @SerializedName("customer_account_id")
1304
          Object customerAccountId;
1305

1306
          /**
1307
           * Unique identifier of the cardholder’s device derived from a combination of at least two
1308
           * hardware and software attributes. Must be at least 20 characters.
1309
           */
1310
          @SerializedName("customer_device_fingerprint")
1311
          Object customerDeviceFingerprint;
1312

1313
          /**
1314
           * Unique identifier of the cardholder’s device such as a device serial number (e.g.,
1315
           * International Mobile Equipment Identity [IMEI]). Must be at least 15 characters.
1316
           */
1317
          @SerializedName("customer_device_id")
1318
          Object customerDeviceId;
1319

1320
          /** The email address of the customer. */
1321
          @SerializedName("customer_email_address")
1322
          Object customerEmailAddress;
1323

1324
          /** The IP address that the customer used when making the purchase. */
1325
          @SerializedName("customer_purchase_ip")
1326
          Object customerPurchaseIp;
1327

1328
          /**
1329
           * Map of extra parameters for custom features not available in this client library. The
1330
           * content in this map is not serialized under this field's {@code @SerializedName} value.
1331
           * Instead, each key/value pair is serialized as if the key is a root-level field
1332
           * (serialized) name in this param object. Effectively, this map is flattened to its
1333
           * parent instance.
1334
           */
1335
          @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1336
          Map<String, Object> extraParams;
1337

1338
          /** Categorization of disputed payment. */
1339
          @SerializedName("merchandise_or_services")
1340
          MerchandiseOrServices merchandiseOrServices;
1341

1342
          /** A description of the product or service that was sold. */
1343
          @SerializedName("product_description")
1344
          Object productDescription;
1345

1346
          /**
1347
           * The address to which a physical product was shipped. All fields are required for Visa
1348
           * Compelling Evidence 3.0 evidence submission.
1349
           */
1350
          @SerializedName("shipping_address")
1351
          ShippingAddress shippingAddress;
1352

1353
          private DisputedTransaction(
1354
              Object customerAccountId,
1355
              Object customerDeviceFingerprint,
1356
              Object customerDeviceId,
1357
              Object customerEmailAddress,
1358
              Object customerPurchaseIp,
1359
              Map<String, Object> extraParams,
1360
              MerchandiseOrServices merchandiseOrServices,
1361
              Object productDescription,
1362
              ShippingAddress shippingAddress) {
×
1363
            this.customerAccountId = customerAccountId;
×
1364
            this.customerDeviceFingerprint = customerDeviceFingerprint;
×
1365
            this.customerDeviceId = customerDeviceId;
×
1366
            this.customerEmailAddress = customerEmailAddress;
×
1367
            this.customerPurchaseIp = customerPurchaseIp;
×
1368
            this.extraParams = extraParams;
×
1369
            this.merchandiseOrServices = merchandiseOrServices;
×
1370
            this.productDescription = productDescription;
×
1371
            this.shippingAddress = shippingAddress;
×
1372
          }
×
1373

1374
          public static Builder builder() {
1375
            return new Builder();
×
1376
          }
1377

1378
          public static class Builder {
×
1379
            private Object customerAccountId;
1380

1381
            private Object customerDeviceFingerprint;
1382

1383
            private Object customerDeviceId;
1384

1385
            private Object customerEmailAddress;
1386

1387
            private Object customerPurchaseIp;
1388

1389
            private Map<String, Object> extraParams;
1390

1391
            private MerchandiseOrServices merchandiseOrServices;
1392

1393
            private Object productDescription;
1394

1395
            private ShippingAddress shippingAddress;
1396

1397
            /** Finalize and obtain parameter instance from this builder. */
1398
            public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1399
                    .DisputedTransaction
1400
                build() {
1401
              return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
×
1402
                  .DisputedTransaction(
1403
                  this.customerAccountId,
1404
                  this.customerDeviceFingerprint,
1405
                  this.customerDeviceId,
1406
                  this.customerEmailAddress,
1407
                  this.customerPurchaseIp,
1408
                  this.extraParams,
1409
                  this.merchandiseOrServices,
1410
                  this.productDescription,
1411
                  this.shippingAddress);
1412
            }
1413

1414
            /**
1415
             * User Account ID used to log into business platform. Must be recognizable by the user.
1416
             */
1417
            public Builder setCustomerAccountId(String customerAccountId) {
1418
              this.customerAccountId = customerAccountId;
×
1419
              return this;
×
1420
            }
1421

1422
            /**
1423
             * User Account ID used to log into business platform. Must be recognizable by the user.
1424
             */
1425
            public Builder setCustomerAccountId(EmptyParam customerAccountId) {
1426
              this.customerAccountId = customerAccountId;
×
1427
              return this;
×
1428
            }
1429

1430
            /**
1431
             * Unique identifier of the cardholder’s device derived from a combination of at least
1432
             * two hardware and software attributes. Must be at least 20 characters.
1433
             */
1434
            public Builder setCustomerDeviceFingerprint(String customerDeviceFingerprint) {
1435
              this.customerDeviceFingerprint = customerDeviceFingerprint;
×
1436
              return this;
×
1437
            }
1438

1439
            /**
1440
             * Unique identifier of the cardholder’s device derived from a combination of at least
1441
             * two hardware and software attributes. Must be at least 20 characters.
1442
             */
1443
            public Builder setCustomerDeviceFingerprint(EmptyParam customerDeviceFingerprint) {
1444
              this.customerDeviceFingerprint = customerDeviceFingerprint;
×
1445
              return this;
×
1446
            }
1447

1448
            /**
1449
             * Unique identifier of the cardholder’s device such as a device serial number (e.g.,
1450
             * International Mobile Equipment Identity [IMEI]). Must be at least 15 characters.
1451
             */
1452
            public Builder setCustomerDeviceId(String customerDeviceId) {
1453
              this.customerDeviceId = customerDeviceId;
×
1454
              return this;
×
1455
            }
1456

1457
            /**
1458
             * Unique identifier of the cardholder’s device such as a device serial number (e.g.,
1459
             * International Mobile Equipment Identity [IMEI]). Must be at least 15 characters.
1460
             */
1461
            public Builder setCustomerDeviceId(EmptyParam customerDeviceId) {
1462
              this.customerDeviceId = customerDeviceId;
×
1463
              return this;
×
1464
            }
1465

1466
            /** The email address of the customer. */
1467
            public Builder setCustomerEmailAddress(String customerEmailAddress) {
1468
              this.customerEmailAddress = customerEmailAddress;
×
1469
              return this;
×
1470
            }
1471

1472
            /** The email address of the customer. */
1473
            public Builder setCustomerEmailAddress(EmptyParam customerEmailAddress) {
1474
              this.customerEmailAddress = customerEmailAddress;
×
1475
              return this;
×
1476
            }
1477

1478
            /** The IP address that the customer used when making the purchase. */
1479
            public Builder setCustomerPurchaseIp(String customerPurchaseIp) {
1480
              this.customerPurchaseIp = customerPurchaseIp;
×
1481
              return this;
×
1482
            }
1483

1484
            /** The IP address that the customer used when making the purchase. */
1485
            public Builder setCustomerPurchaseIp(EmptyParam customerPurchaseIp) {
1486
              this.customerPurchaseIp = customerPurchaseIp;
×
1487
              return this;
×
1488
            }
1489

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

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

1520
            /** Categorization of disputed payment. */
1521
            public Builder setMerchandiseOrServices(
1522
                DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1523
                        .DisputedTransaction.MerchandiseOrServices
1524
                    merchandiseOrServices) {
1525
              this.merchandiseOrServices = merchandiseOrServices;
×
1526
              return this;
×
1527
            }
1528

1529
            /** A description of the product or service that was sold. */
1530
            public Builder setProductDescription(String productDescription) {
1531
              this.productDescription = productDescription;
×
1532
              return this;
×
1533
            }
1534

1535
            /** A description of the product or service that was sold. */
1536
            public Builder setProductDescription(EmptyParam productDescription) {
1537
              this.productDescription = productDescription;
×
1538
              return this;
×
1539
            }
1540

1541
            /**
1542
             * The address to which a physical product was shipped. All fields are required for Visa
1543
             * Compelling Evidence 3.0 evidence submission.
1544
             */
1545
            public Builder setShippingAddress(
1546
                DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1547
                        .DisputedTransaction.ShippingAddress
1548
                    shippingAddress) {
1549
              this.shippingAddress = shippingAddress;
×
1550
              return this;
×
1551
            }
1552
          }
1553

1554
          @Getter
1555
          public static class ShippingAddress {
1556
            /** City, district, suburb, town, or village. */
1557
            @SerializedName("city")
1558
            Object city;
1559

1560
            /**
1561
             * Two-letter country code (<a
1562
             * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
1563
             */
1564
            @SerializedName("country")
1565
            Object country;
1566

1567
            /**
1568
             * Map of extra parameters for custom features not available in this client library. The
1569
             * content in this map is not serialized under this field's {@code @SerializedName}
1570
             * value. Instead, each key/value pair is serialized as if the key is a root-level field
1571
             * (serialized) name in this param object. Effectively, this map is flattened to its
1572
             * parent instance.
1573
             */
1574
            @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
1575
            Map<String, Object> extraParams;
1576

1577
            /** Address line 1 (e.g., street, PO Box, or company name). */
1578
            @SerializedName("line1")
1579
            Object line1;
1580

1581
            /** Address line 2 (e.g., apartment, suite, unit, or building). */
1582
            @SerializedName("line2")
1583
            Object line2;
1584

1585
            /** ZIP or postal code. */
1586
            @SerializedName("postal_code")
1587
            Object postalCode;
1588

1589
            /** State, county, province, or region. */
1590
            @SerializedName("state")
1591
            Object state;
1592

1593
            private ShippingAddress(
1594
                Object city,
1595
                Object country,
1596
                Map<String, Object> extraParams,
1597
                Object line1,
1598
                Object line2,
1599
                Object postalCode,
1600
                Object state) {
×
1601
              this.city = city;
×
1602
              this.country = country;
×
1603
              this.extraParams = extraParams;
×
1604
              this.line1 = line1;
×
1605
              this.line2 = line2;
×
1606
              this.postalCode = postalCode;
×
1607
              this.state = state;
×
1608
            }
×
1609

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

1614
            public static class Builder {
×
1615
              private Object city;
1616

1617
              private Object country;
1618

1619
              private Map<String, Object> extraParams;
1620

1621
              private Object line1;
1622

1623
              private Object line2;
1624

1625
              private Object postalCode;
1626

1627
              private Object state;
1628

1629
              /** Finalize and obtain parameter instance from this builder. */
1630
              public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1631
                      .DisputedTransaction.ShippingAddress
1632
                  build() {
1633
                return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
×
1634
                    .DisputedTransaction.ShippingAddress(
1635
                    this.city,
1636
                    this.country,
1637
                    this.extraParams,
1638
                    this.line1,
1639
                    this.line2,
1640
                    this.postalCode,
1641
                    this.state);
1642
              }
1643

1644
              /** City, district, suburb, town, or village. */
1645
              public Builder setCity(String city) {
1646
                this.city = city;
×
1647
                return this;
×
1648
              }
1649

1650
              /** City, district, suburb, town, or village. */
1651
              public Builder setCity(EmptyParam city) {
1652
                this.city = city;
×
1653
                return this;
×
1654
              }
1655

1656
              /**
1657
               * Two-letter country code (<a
1658
               * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
1659
               */
1660
              public Builder setCountry(String country) {
1661
                this.country = country;
×
1662
                return this;
×
1663
              }
1664

1665
              /**
1666
               * Two-letter country code (<a
1667
               * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
1668
               */
1669
              public Builder setCountry(EmptyParam country) {
1670
                this.country = country;
×
1671
                return this;
×
1672
              }
1673

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

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

1704
              /** Address line 1 (e.g., street, PO Box, or company name). */
1705
              public Builder setLine1(String line1) {
1706
                this.line1 = line1;
×
1707
                return this;
×
1708
              }
1709

1710
              /** Address line 1 (e.g., street, PO Box, or company name). */
1711
              public Builder setLine1(EmptyParam line1) {
1712
                this.line1 = line1;
×
1713
                return this;
×
1714
              }
1715

1716
              /** Address line 2 (e.g., apartment, suite, unit, or building). */
1717
              public Builder setLine2(String line2) {
1718
                this.line2 = line2;
×
1719
                return this;
×
1720
              }
1721

1722
              /** Address line 2 (e.g., apartment, suite, unit, or building). */
1723
              public Builder setLine2(EmptyParam line2) {
1724
                this.line2 = line2;
×
1725
                return this;
×
1726
              }
1727

1728
              /** ZIP or postal code. */
1729
              public Builder setPostalCode(String postalCode) {
1730
                this.postalCode = postalCode;
×
1731
                return this;
×
1732
              }
1733

1734
              /** ZIP or postal code. */
1735
              public Builder setPostalCode(EmptyParam postalCode) {
1736
                this.postalCode = postalCode;
×
1737
                return this;
×
1738
              }
1739

1740
              /** State, county, province, or region. */
1741
              public Builder setState(String state) {
1742
                this.state = state;
×
1743
                return this;
×
1744
              }
1745

1746
              /** State, county, province, or region. */
1747
              public Builder setState(EmptyParam state) {
1748
                this.state = state;
×
1749
                return this;
×
1750
              }
1751
            }
1752
          }
1753

1754
          public enum MerchandiseOrServices implements ApiRequestParams.EnumParam {
×
1755
            @SerializedName("merchandise")
×
1756
            MERCHANDISE("merchandise"),
1757

1758
            @SerializedName("services")
×
1759
            SERVICES("services");
1760

1761
            @Getter(onMethod_ = {@Override})
1762
            private final String value;
1763

1764
            MerchandiseOrServices(String value) {
×
1765
              this.value = value;
×
1766
            }
×
1767
          }
1768
        }
1769

1770
        @Getter
1771
        public static class PriorUndisputedTransaction {
1772
          /**
1773
           * <strong>Required.</strong> Stripe charge ID for the Visa Compelling Evidence 3.0
1774
           * eligible prior charge.
1775
           */
1776
          @SerializedName("charge")
1777
          Object charge;
1778

1779
          /**
1780
           * User Account ID used to log into business platform. Must be recognizable by the user.
1781
           */
1782
          @SerializedName("customer_account_id")
1783
          Object customerAccountId;
1784

1785
          /**
1786
           * Unique identifier of the cardholder’s device derived from a combination of at least two
1787
           * hardware and software attributes. Must be at least 20 characters.
1788
           */
1789
          @SerializedName("customer_device_fingerprint")
1790
          Object customerDeviceFingerprint;
1791

1792
          /**
1793
           * Unique identifier of the cardholder’s device such as a device serial number (e.g.,
1794
           * International Mobile Equipment Identity [IMEI]). Must be at least 15 characters.
1795
           */
1796
          @SerializedName("customer_device_id")
1797
          Object customerDeviceId;
1798

1799
          /** The email address of the customer. */
1800
          @SerializedName("customer_email_address")
1801
          Object customerEmailAddress;
1802

1803
          /** The IP address that the customer used when making the purchase. */
1804
          @SerializedName("customer_purchase_ip")
1805
          Object customerPurchaseIp;
1806

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

1817
          /** A description of the product or service that was sold. */
1818
          @SerializedName("product_description")
1819
          Object productDescription;
1820

1821
          /**
1822
           * The address to which a physical product was shipped. All fields are required for Visa
1823
           * Compelling Evidence 3.0 evidence submission.
1824
           */
1825
          @SerializedName("shipping_address")
1826
          ShippingAddress shippingAddress;
1827

1828
          private PriorUndisputedTransaction(
1829
              Object charge,
1830
              Object customerAccountId,
1831
              Object customerDeviceFingerprint,
1832
              Object customerDeviceId,
1833
              Object customerEmailAddress,
1834
              Object customerPurchaseIp,
1835
              Map<String, Object> extraParams,
1836
              Object productDescription,
1837
              ShippingAddress shippingAddress) {
×
1838
            this.charge = charge;
×
1839
            this.customerAccountId = customerAccountId;
×
1840
            this.customerDeviceFingerprint = customerDeviceFingerprint;
×
1841
            this.customerDeviceId = customerDeviceId;
×
1842
            this.customerEmailAddress = customerEmailAddress;
×
1843
            this.customerPurchaseIp = customerPurchaseIp;
×
1844
            this.extraParams = extraParams;
×
1845
            this.productDescription = productDescription;
×
1846
            this.shippingAddress = shippingAddress;
×
1847
          }
×
1848

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

1853
          public static class Builder {
×
1854
            private Object charge;
1855

1856
            private Object customerAccountId;
1857

1858
            private Object customerDeviceFingerprint;
1859

1860
            private Object customerDeviceId;
1861

1862
            private Object customerEmailAddress;
1863

1864
            private Object customerPurchaseIp;
1865

1866
            private Map<String, Object> extraParams;
1867

1868
            private Object productDescription;
1869

1870
            private ShippingAddress shippingAddress;
1871

1872
            /** Finalize and obtain parameter instance from this builder. */
1873
            public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
1874
                    .PriorUndisputedTransaction
1875
                build() {
1876
              return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
×
1877
                  .PriorUndisputedTransaction(
1878
                  this.charge,
1879
                  this.customerAccountId,
1880
                  this.customerDeviceFingerprint,
1881
                  this.customerDeviceId,
1882
                  this.customerEmailAddress,
1883
                  this.customerPurchaseIp,
1884
                  this.extraParams,
1885
                  this.productDescription,
1886
                  this.shippingAddress);
1887
            }
1888

1889
            /**
1890
             * <strong>Required.</strong> Stripe charge ID for the Visa Compelling Evidence 3.0
1891
             * eligible prior charge.
1892
             */
1893
            public Builder setCharge(String charge) {
1894
              this.charge = charge;
×
1895
              return this;
×
1896
            }
1897

1898
            /**
1899
             * <strong>Required.</strong> Stripe charge ID for the Visa Compelling Evidence 3.0
1900
             * eligible prior charge.
1901
             */
1902
            public Builder setCharge(EmptyParam charge) {
1903
              this.charge = charge;
×
1904
              return this;
×
1905
            }
1906

1907
            /**
1908
             * User Account ID used to log into business platform. Must be recognizable by the user.
1909
             */
1910
            public Builder setCustomerAccountId(String customerAccountId) {
1911
              this.customerAccountId = customerAccountId;
×
1912
              return this;
×
1913
            }
1914

1915
            /**
1916
             * User Account ID used to log into business platform. Must be recognizable by the user.
1917
             */
1918
            public Builder setCustomerAccountId(EmptyParam customerAccountId) {
1919
              this.customerAccountId = customerAccountId;
×
1920
              return this;
×
1921
            }
1922

1923
            /**
1924
             * Unique identifier of the cardholder’s device derived from a combination of at least
1925
             * two hardware and software attributes. Must be at least 20 characters.
1926
             */
1927
            public Builder setCustomerDeviceFingerprint(String customerDeviceFingerprint) {
1928
              this.customerDeviceFingerprint = customerDeviceFingerprint;
×
1929
              return this;
×
1930
            }
1931

1932
            /**
1933
             * Unique identifier of the cardholder’s device derived from a combination of at least
1934
             * two hardware and software attributes. Must be at least 20 characters.
1935
             */
1936
            public Builder setCustomerDeviceFingerprint(EmptyParam customerDeviceFingerprint) {
1937
              this.customerDeviceFingerprint = customerDeviceFingerprint;
×
1938
              return this;
×
1939
            }
1940

1941
            /**
1942
             * Unique identifier of the cardholder’s device such as a device serial number (e.g.,
1943
             * International Mobile Equipment Identity [IMEI]). Must be at least 15 characters.
1944
             */
1945
            public Builder setCustomerDeviceId(String customerDeviceId) {
1946
              this.customerDeviceId = customerDeviceId;
×
1947
              return this;
×
1948
            }
1949

1950
            /**
1951
             * Unique identifier of the cardholder’s device such as a device serial number (e.g.,
1952
             * International Mobile Equipment Identity [IMEI]). Must be at least 15 characters.
1953
             */
1954
            public Builder setCustomerDeviceId(EmptyParam customerDeviceId) {
1955
              this.customerDeviceId = customerDeviceId;
×
1956
              return this;
×
1957
            }
1958

1959
            /** The email address of the customer. */
1960
            public Builder setCustomerEmailAddress(String customerEmailAddress) {
1961
              this.customerEmailAddress = customerEmailAddress;
×
1962
              return this;
×
1963
            }
1964

1965
            /** The email address of the customer. */
1966
            public Builder setCustomerEmailAddress(EmptyParam customerEmailAddress) {
1967
              this.customerEmailAddress = customerEmailAddress;
×
1968
              return this;
×
1969
            }
1970

1971
            /** The IP address that the customer used when making the purchase. */
1972
            public Builder setCustomerPurchaseIp(String customerPurchaseIp) {
1973
              this.customerPurchaseIp = customerPurchaseIp;
×
1974
              return this;
×
1975
            }
1976

1977
            /** The IP address that the customer used when making the purchase. */
1978
            public Builder setCustomerPurchaseIp(EmptyParam customerPurchaseIp) {
1979
              this.customerPurchaseIp = customerPurchaseIp;
×
1980
              return this;
×
1981
            }
1982

1983
            /**
1984
             * Add a key/value pair to `extraParams` map. A map is initialized for the first
1985
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
1986
             * original map. See {@link
1987
             * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction#extraParams}
1988
             * for the field documentation.
1989
             */
1990
            public Builder putExtraParam(String key, Object value) {
1991
              if (this.extraParams == null) {
×
1992
                this.extraParams = new HashMap<>();
×
1993
              }
1994
              this.extraParams.put(key, value);
×
1995
              return this;
×
1996
            }
1997

1998
            /**
1999
             * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2000
             * `put/putAll` call, and subsequent calls add additional key/value pairs to the
2001
             * original map. See {@link
2002
             * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction#extraParams}
2003
             * for the field documentation.
2004
             */
2005
            public Builder putAllExtraParam(Map<String, Object> map) {
2006
              if (this.extraParams == null) {
×
2007
                this.extraParams = new HashMap<>();
×
2008
              }
2009
              this.extraParams.putAll(map);
×
2010
              return this;
×
2011
            }
2012

2013
            /** A description of the product or service that was sold. */
2014
            public Builder setProductDescription(String productDescription) {
2015
              this.productDescription = productDescription;
×
2016
              return this;
×
2017
            }
2018

2019
            /** A description of the product or service that was sold. */
2020
            public Builder setProductDescription(EmptyParam productDescription) {
2021
              this.productDescription = productDescription;
×
2022
              return this;
×
2023
            }
2024

2025
            /**
2026
             * The address to which a physical product was shipped. All fields are required for Visa
2027
             * Compelling Evidence 3.0 evidence submission.
2028
             */
2029
            public Builder setShippingAddress(
2030
                DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
2031
                        .PriorUndisputedTransaction.ShippingAddress
2032
                    shippingAddress) {
2033
              this.shippingAddress = shippingAddress;
×
2034
              return this;
×
2035
            }
2036
          }
2037

2038
          @Getter
2039
          public static class ShippingAddress {
2040
            /** City, district, suburb, town, or village. */
2041
            @SerializedName("city")
2042
            Object city;
2043

2044
            /**
2045
             * Two-letter country code (<a
2046
             * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
2047
             */
2048
            @SerializedName("country")
2049
            Object country;
2050

2051
            /**
2052
             * Map of extra parameters for custom features not available in this client library. The
2053
             * content in this map is not serialized under this field's {@code @SerializedName}
2054
             * value. Instead, each key/value pair is serialized as if the key is a root-level field
2055
             * (serialized) name in this param object. Effectively, this map is flattened to its
2056
             * parent instance.
2057
             */
2058
            @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2059
            Map<String, Object> extraParams;
2060

2061
            /** Address line 1 (e.g., street, PO Box, or company name). */
2062
            @SerializedName("line1")
2063
            Object line1;
2064

2065
            /** Address line 2 (e.g., apartment, suite, unit, or building). */
2066
            @SerializedName("line2")
2067
            Object line2;
2068

2069
            /** ZIP or postal code. */
2070
            @SerializedName("postal_code")
2071
            Object postalCode;
2072

2073
            /** State, county, province, or region. */
2074
            @SerializedName("state")
2075
            Object state;
2076

2077
            private ShippingAddress(
2078
                Object city,
2079
                Object country,
2080
                Map<String, Object> extraParams,
2081
                Object line1,
2082
                Object line2,
2083
                Object postalCode,
2084
                Object state) {
×
2085
              this.city = city;
×
2086
              this.country = country;
×
2087
              this.extraParams = extraParams;
×
2088
              this.line1 = line1;
×
2089
              this.line2 = line2;
×
2090
              this.postalCode = postalCode;
×
2091
              this.state = state;
×
2092
            }
×
2093

2094
            public static Builder builder() {
2095
              return new Builder();
×
2096
            }
2097

2098
            public static class Builder {
×
2099
              private Object city;
2100

2101
              private Object country;
2102

2103
              private Map<String, Object> extraParams;
2104

2105
              private Object line1;
2106

2107
              private Object line2;
2108

2109
              private Object postalCode;
2110

2111
              private Object state;
2112

2113
              /** Finalize and obtain parameter instance from this builder. */
2114
              public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
2115
                      .PriorUndisputedTransaction.ShippingAddress
2116
                  build() {
2117
                return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3
×
2118
                    .PriorUndisputedTransaction.ShippingAddress(
2119
                    this.city,
2120
                    this.country,
2121
                    this.extraParams,
2122
                    this.line1,
2123
                    this.line2,
2124
                    this.postalCode,
2125
                    this.state);
2126
              }
2127

2128
              /** City, district, suburb, town, or village. */
2129
              public Builder setCity(String city) {
2130
                this.city = city;
×
2131
                return this;
×
2132
              }
2133

2134
              /** City, district, suburb, town, or village. */
2135
              public Builder setCity(EmptyParam city) {
2136
                this.city = city;
×
2137
                return this;
×
2138
              }
2139

2140
              /**
2141
               * Two-letter country code (<a
2142
               * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
2143
               */
2144
              public Builder setCountry(String country) {
2145
                this.country = country;
×
2146
                return this;
×
2147
              }
2148

2149
              /**
2150
               * Two-letter country code (<a
2151
               * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2</a>).
2152
               */
2153
              public Builder setCountry(EmptyParam country) {
2154
                this.country = country;
×
2155
                return this;
×
2156
              }
2157

2158
              /**
2159
               * Add a key/value pair to `extraParams` map. A map is initialized for the first
2160
               * `put/putAll` call, and subsequent calls add additional key/value pairs to the
2161
               * original map. See {@link
2162
               * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction.ShippingAddress#extraParams}
2163
               * for the field documentation.
2164
               */
2165
              public Builder putExtraParam(String key, Object value) {
2166
                if (this.extraParams == null) {
×
2167
                  this.extraParams = new HashMap<>();
×
2168
                }
2169
                this.extraParams.put(key, value);
×
2170
                return this;
×
2171
              }
2172

2173
              /**
2174
               * Add all map key/value pairs to `extraParams` map. A map is initialized for the
2175
               * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
2176
               * original map. See {@link
2177
               * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompellingEvidence3.PriorUndisputedTransaction.ShippingAddress#extraParams}
2178
               * for the field documentation.
2179
               */
2180
              public Builder putAllExtraParam(Map<String, Object> map) {
2181
                if (this.extraParams == null) {
×
2182
                  this.extraParams = new HashMap<>();
×
2183
                }
2184
                this.extraParams.putAll(map);
×
2185
                return this;
×
2186
              }
2187

2188
              /** Address line 1 (e.g., street, PO Box, or company name). */
2189
              public Builder setLine1(String line1) {
2190
                this.line1 = line1;
×
2191
                return this;
×
2192
              }
2193

2194
              /** Address line 1 (e.g., street, PO Box, or company name). */
2195
              public Builder setLine1(EmptyParam line1) {
2196
                this.line1 = line1;
×
2197
                return this;
×
2198
              }
2199

2200
              /** Address line 2 (e.g., apartment, suite, unit, or building). */
2201
              public Builder setLine2(String line2) {
2202
                this.line2 = line2;
×
2203
                return this;
×
2204
              }
2205

2206
              /** Address line 2 (e.g., apartment, suite, unit, or building). */
2207
              public Builder setLine2(EmptyParam line2) {
2208
                this.line2 = line2;
×
2209
                return this;
×
2210
              }
2211

2212
              /** ZIP or postal code. */
2213
              public Builder setPostalCode(String postalCode) {
2214
                this.postalCode = postalCode;
×
2215
                return this;
×
2216
              }
2217

2218
              /** ZIP or postal code. */
2219
              public Builder setPostalCode(EmptyParam postalCode) {
2220
                this.postalCode = postalCode;
×
2221
                return this;
×
2222
              }
2223

2224
              /** State, county, province, or region. */
2225
              public Builder setState(String state) {
2226
                this.state = state;
×
2227
                return this;
×
2228
              }
2229

2230
              /** State, county, province, or region. */
2231
              public Builder setState(EmptyParam state) {
2232
                this.state = state;
×
2233
                return this;
×
2234
              }
2235
            }
2236
          }
2237
        }
2238
      }
2239

2240
      @Getter
2241
      public static class VisaCompliance {
2242
        /**
2243
         * Map of extra parameters for custom features not available in this client library. The
2244
         * content in this map is not serialized under this field's {@code @SerializedName} value.
2245
         * Instead, each key/value pair is serialized as if the key is a root-level field
2246
         * (serialized) name in this param object. Effectively, this map is flattened to its parent
2247
         * instance.
2248
         */
2249
        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
2250
        Map<String, Object> extraParams;
2251

2252
        /**
2253
         * A field acknowledging the fee incurred when countering a Visa compliance dispute. If this
2254
         * field is set to true, evidence can be submitted for the compliance dispute. Stripe
2255
         * collects a 500 USD (or local equivalent) amount to cover the network costs associated
2256
         * with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the
2257
         * dispute.
2258
         */
2259
        @SerializedName("fee_acknowledged")
2260
        Boolean feeAcknowledged;
2261

NEW
2262
        private VisaCompliance(Map<String, Object> extraParams, Boolean feeAcknowledged) {
×
NEW
2263
          this.extraParams = extraParams;
×
NEW
2264
          this.feeAcknowledged = feeAcknowledged;
×
NEW
2265
        }
×
2266

2267
        public static Builder builder() {
NEW
2268
          return new Builder();
×
2269
        }
2270

NEW
2271
        public static class Builder {
×
2272
          private Map<String, Object> extraParams;
2273

2274
          private Boolean feeAcknowledged;
2275

2276
          /** Finalize and obtain parameter instance from this builder. */
2277
          public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance build() {
NEW
2278
            return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance(
×
2279
                this.extraParams, this.feeAcknowledged);
2280
          }
2281

2282
          /**
2283
           * Add a key/value pair to `extraParams` map. A map is initialized for the first
2284
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2285
           * map. See {@link
2286
           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
2287
           * documentation.
2288
           */
2289
          public Builder putExtraParam(String key, Object value) {
NEW
2290
            if (this.extraParams == null) {
×
NEW
2291
              this.extraParams = new HashMap<>();
×
2292
            }
NEW
2293
            this.extraParams.put(key, value);
×
NEW
2294
            return this;
×
2295
          }
2296

2297
          /**
2298
           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
2299
           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
2300
           * map. See {@link
2301
           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
2302
           * documentation.
2303
           */
2304
          public Builder putAllExtraParam(Map<String, Object> map) {
NEW
2305
            if (this.extraParams == null) {
×
NEW
2306
              this.extraParams = new HashMap<>();
×
2307
            }
NEW
2308
            this.extraParams.putAll(map);
×
NEW
2309
            return this;
×
2310
          }
2311

2312
          /**
2313
           * A field acknowledging the fee incurred when countering a Visa compliance dispute. If
2314
           * this field is set to true, evidence can be submitted for the compliance dispute. Stripe
2315
           * collects a 500 USD (or local equivalent) amount to cover the network costs associated
2316
           * with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win
2317
           * the dispute.
2318
           */
2319
          public Builder setFeeAcknowledged(Boolean feeAcknowledged) {
NEW
2320
            this.feeAcknowledged = feeAcknowledged;
×
NEW
2321
            return this;
×
2322
          }
2323
        }
2324
      }
2325
    }
2326
  }
2327
}
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