Stripe Services
@@ -6208,7 +7301,10 @@ public static class RestrictsCapability extends StripeObject {
* {@code bacs_debit_payments}, {@code bancontact_payments}, {@code bank_accounts.local},
* {@code bank_accounts.wire}, {@code blik_payments}, {@code boleto_payments}, {@code
* cards}, {@code card_payments}, {@code cartes_bancaires_payments}, {@code
- * cashapp_payments}, {@code crypto}, {@code eps_payments}, {@code
+ * cashapp_payments}, {@code commercial.celtic.charge_card}, {@code
+ * commercial.celtic.spend_card}, {@code commercial.cross_river_bank.charge_card}, {@code
+ * commercial.cross_river_bank.spend_card}, {@code commercial.stripe.charge_card}, {@code
+ * commercial.stripe.prepaid_card}, {@code crypto}, {@code eps_payments}, {@code
* financial_addresses.bank_accounts}, {@code fpx_payments}, {@code
* gb_bank_transfer_payments}, {@code grabpay_payments}, {@code holds_currencies.gbp},
* {@code ideal_payments}, {@code inbound_transfers.financial_accounts}, {@code
@@ -6232,7 +7328,8 @@ public static class RestrictsCapability extends StripeObject {
/**
* The configuration which specifies the Capability which will be restricted.
*
- * One of {@code customer}, {@code merchant}, {@code recipient}, or {@code storer}.
+ *
One of {@code card_creator}, {@code customer}, {@code merchant}, {@code recipient},
+ * or {@code storer}.
*/
@SerializedName("configuration")
String configuration;
diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java
index 4e328804c8b..9ac9aa059ce 100644
--- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java
+++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java
@@ -2513,6 +2513,10 @@ public enum Type implements ApiRequestParams.EnumParam {
@Getter
@EqualsAndHashCode(callSuper = false)
public static class PaymentDetails {
+ /** Benefit details for this PaymentIntent. */
+ @SerializedName("benefit")
+ Benefit benefit;
+
/** Car rental details for this PaymentIntent. */
@SerializedName("car_rental")
CarRental carRental;
@@ -2554,6 +2558,7 @@ public static class PaymentDetails {
Subscription subscription;
private PaymentDetails(
+ Benefit benefit,
CarRental carRental,
Object customerReference,
EventDetails eventDetails,
@@ -2562,6 +2567,7 @@ private PaymentDetails(
Lodging lodging,
Object orderReference,
Subscription subscription) {
+ this.benefit = benefit;
this.carRental = carRental;
this.customerReference = customerReference;
this.eventDetails = eventDetails;
@@ -2577,6 +2583,8 @@ public static Builder builder() {
}
public static class Builder {
+ private Benefit benefit;
+
private CarRental carRental;
private Object customerReference;
@@ -2596,6 +2604,7 @@ public static class Builder {
/** Finalize and obtain parameter instance from this builder. */
public PaymentIntentConfirmParams.PaymentDetails build() {
return new PaymentIntentConfirmParams.PaymentDetails(
+ this.benefit,
this.carRental,
this.customerReference,
this.eventDetails,
@@ -2606,6 +2615,12 @@ public PaymentIntentConfirmParams.PaymentDetails build() {
this.subscription);
}
+ /** Benefit details for this PaymentIntent. */
+ public Builder setBenefit(PaymentIntentConfirmParams.PaymentDetails.Benefit benefit) {
+ this.benefit = benefit;
+ return this;
+ }
+
/** Car rental details for this PaymentIntent. */
public Builder setCarRental(PaymentIntentConfirmParams.PaymentDetails.CarRental carRental) {
this.carRental = carRental;
@@ -2696,6 +2711,154 @@ public Builder setSubscription(
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Benefit {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** French meal voucher benefit details for this PaymentIntent. */
+ @SerializedName("fr_meal_voucher")
+ FrMealVoucher frMealVoucher;
+
+ private Benefit(Map extraParams, FrMealVoucher frMealVoucher) {
+ this.extraParams = extraParams;
+ this.frMealVoucher = frMealVoucher;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private FrMealVoucher frMealVoucher;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentIntentConfirmParams.PaymentDetails.Benefit build() {
+ return new PaymentIntentConfirmParams.PaymentDetails.Benefit(
+ this.extraParams, this.frMealVoucher);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link PaymentIntentConfirmParams.PaymentDetails.Benefit#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link PaymentIntentConfirmParams.PaymentDetails.Benefit#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** French meal voucher benefit details for this PaymentIntent. */
+ public Builder setFrMealVoucher(
+ PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher frMealVoucher) {
+ this.frMealVoucher = frMealVoucher;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FrMealVoucher {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ @SerializedName("siret")
+ String siret;
+
+ private FrMealVoucher(Map extraParams, String siret) {
+ this.extraParams = extraParams;
+ this.siret = siret;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String siret;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher build() {
+ return new PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher(
+ this.extraParams, this.siret);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(String siret) {
+ this.siret = siret;
+ return this;
+ }
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class CarRental {
diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java
index a5bc099012d..7405fa73cc7 100644
--- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java
+++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java
@@ -3028,6 +3028,10 @@ public enum Type implements ApiRequestParams.EnumParam {
@Getter
@EqualsAndHashCode(callSuper = false)
public static class PaymentDetails {
+ /** Benefit details for this PaymentIntent. */
+ @SerializedName("benefit")
+ Benefit benefit;
+
/** Car rental details for this PaymentIntent. */
@SerializedName("car_rental")
CarRental carRental;
@@ -3069,6 +3073,7 @@ public static class PaymentDetails {
Subscription subscription;
private PaymentDetails(
+ Benefit benefit,
CarRental carRental,
Object customerReference,
EventDetails eventDetails,
@@ -3077,6 +3082,7 @@ private PaymentDetails(
Lodging lodging,
Object orderReference,
Subscription subscription) {
+ this.benefit = benefit;
this.carRental = carRental;
this.customerReference = customerReference;
this.eventDetails = eventDetails;
@@ -3092,6 +3098,8 @@ public static Builder builder() {
}
public static class Builder {
+ private Benefit benefit;
+
private CarRental carRental;
private Object customerReference;
@@ -3111,6 +3119,7 @@ public static class Builder {
/** Finalize and obtain parameter instance from this builder. */
public PaymentIntentCreateParams.PaymentDetails build() {
return new PaymentIntentCreateParams.PaymentDetails(
+ this.benefit,
this.carRental,
this.customerReference,
this.eventDetails,
@@ -3121,6 +3130,12 @@ public PaymentIntentCreateParams.PaymentDetails build() {
this.subscription);
}
+ /** Benefit details for this PaymentIntent. */
+ public Builder setBenefit(PaymentIntentCreateParams.PaymentDetails.Benefit benefit) {
+ this.benefit = benefit;
+ return this;
+ }
+
/** Car rental details for this PaymentIntent. */
public Builder setCarRental(PaymentIntentCreateParams.PaymentDetails.CarRental carRental) {
this.carRental = carRental;
@@ -3211,6 +3226,154 @@ public Builder setSubscription(
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Benefit {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** French meal voucher benefit details for this PaymentIntent. */
+ @SerializedName("fr_meal_voucher")
+ FrMealVoucher frMealVoucher;
+
+ private Benefit(Map extraParams, FrMealVoucher frMealVoucher) {
+ this.extraParams = extraParams;
+ this.frMealVoucher = frMealVoucher;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private FrMealVoucher frMealVoucher;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentIntentCreateParams.PaymentDetails.Benefit build() {
+ return new PaymentIntentCreateParams.PaymentDetails.Benefit(
+ this.extraParams, this.frMealVoucher);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link PaymentIntentCreateParams.PaymentDetails.Benefit#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link PaymentIntentCreateParams.PaymentDetails.Benefit#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** French meal voucher benefit details for this PaymentIntent. */
+ public Builder setFrMealVoucher(
+ PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher frMealVoucher) {
+ this.frMealVoucher = frMealVoucher;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FrMealVoucher {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ @SerializedName("siret")
+ String siret;
+
+ private FrMealVoucher(Map extraParams, String siret) {
+ this.extraParams = extraParams;
+ this.siret = siret;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String siret;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher build() {
+ return new PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher(
+ this.extraParams, this.siret);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(String siret) {
+ this.siret = siret;
+ return this;
+ }
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class CarRental {
diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java
index 98d98ae635f..2d6a84e770a 100644
--- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java
+++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java
@@ -2756,6 +2756,10 @@ public enum Type implements ApiRequestParams.EnumParam {
@Getter
@EqualsAndHashCode(callSuper = false)
public static class PaymentDetails {
+ /** Benefit details for this PaymentIntent. */
+ @SerializedName("benefit")
+ Benefit benefit;
+
/** Car rental details for this PaymentIntent. */
@SerializedName("car_rental")
CarRental carRental;
@@ -2797,6 +2801,7 @@ public static class PaymentDetails {
Subscription subscription;
private PaymentDetails(
+ Benefit benefit,
CarRental carRental,
Object customerReference,
EventDetails eventDetails,
@@ -2805,6 +2810,7 @@ private PaymentDetails(
Lodging lodging,
Object orderReference,
Subscription subscription) {
+ this.benefit = benefit;
this.carRental = carRental;
this.customerReference = customerReference;
this.eventDetails = eventDetails;
@@ -2820,6 +2826,8 @@ public static Builder builder() {
}
public static class Builder {
+ private Benefit benefit;
+
private CarRental carRental;
private Object customerReference;
@@ -2839,6 +2847,7 @@ public static class Builder {
/** Finalize and obtain parameter instance from this builder. */
public PaymentIntentUpdateParams.PaymentDetails build() {
return new PaymentIntentUpdateParams.PaymentDetails(
+ this.benefit,
this.carRental,
this.customerReference,
this.eventDetails,
@@ -2849,6 +2858,12 @@ public PaymentIntentUpdateParams.PaymentDetails build() {
this.subscription);
}
+ /** Benefit details for this PaymentIntent. */
+ public Builder setBenefit(PaymentIntentUpdateParams.PaymentDetails.Benefit benefit) {
+ this.benefit = benefit;
+ return this;
+ }
+
/** Car rental details for this PaymentIntent. */
public Builder setCarRental(PaymentIntentUpdateParams.PaymentDetails.CarRental carRental) {
this.carRental = carRental;
@@ -2939,6 +2954,160 @@ public Builder setSubscription(
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Benefit {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** French meal voucher benefit details for this PaymentIntent. */
+ @SerializedName("fr_meal_voucher")
+ FrMealVoucher frMealVoucher;
+
+ private Benefit(Map extraParams, FrMealVoucher frMealVoucher) {
+ this.extraParams = extraParams;
+ this.frMealVoucher = frMealVoucher;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private FrMealVoucher frMealVoucher;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentIntentUpdateParams.PaymentDetails.Benefit build() {
+ return new PaymentIntentUpdateParams.PaymentDetails.Benefit(
+ this.extraParams, this.frMealVoucher);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link PaymentIntentUpdateParams.PaymentDetails.Benefit#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link PaymentIntentUpdateParams.PaymentDetails.Benefit#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** French meal voucher benefit details for this PaymentIntent. */
+ public Builder setFrMealVoucher(
+ PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher frMealVoucher) {
+ this.frMealVoucher = frMealVoucher;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FrMealVoucher {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ @SerializedName("siret")
+ Object siret;
+
+ private FrMealVoucher(Map extraParams, Object siret) {
+ this.extraParams = extraParams;
+ this.siret = siret;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Object siret;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher build() {
+ return new PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher(
+ this.extraParams, this.siret);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(String siret) {
+ this.siret = siret;
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(EmptyParam siret) {
+ this.siret = siret;
+ return this;
+ }
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class CarRental {
diff --git a/src/main/java/com/stripe/param/PaymentMethodCheckBalanceParams.java b/src/main/java/com/stripe/param/PaymentMethodCheckBalanceParams.java
new file mode 100644
index 00000000000..41b70af1272
--- /dev/null
+++ b/src/main/java/com/stripe/param/PaymentMethodCheckBalanceParams.java
@@ -0,0 +1,100 @@
+// File generated from our OpenAPI spec
+package com.stripe.param;
+
+import com.google.gson.annotations.SerializedName;
+import com.stripe.net.ApiRequestParams;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+
+@Getter
+@EqualsAndHashCode(callSuper = false)
+public class PaymentMethodCheckBalanceParams extends ApiRequestParams {
+ /** Specifies which fields in the response should be expanded. */
+ @SerializedName("expand")
+ List expand;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private PaymentMethodCheckBalanceParams(List expand, Map extraParams) {
+ this.expand = expand;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private List expand;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodCheckBalanceParams build() {
+ return new PaymentMethodCheckBalanceParams(this.expand, this.extraParams);
+ }
+
+ /**
+ * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and
+ * subsequent calls adds additional elements to the original list. See {@link
+ * PaymentMethodCheckBalanceParams#expand} for the field documentation.
+ */
+ public Builder addExpand(String element) {
+ if (this.expand == null) {
+ this.expand = new ArrayList<>();
+ }
+ this.expand.add(element);
+ return this;
+ }
+
+ /**
+ * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and
+ * subsequent calls adds additional elements to the original list. See {@link
+ * PaymentMethodCheckBalanceParams#expand} for the field documentation.
+ */
+ public Builder addAllExpand(List elements) {
+ if (this.expand == null) {
+ this.expand = new ArrayList<>();
+ }
+ this.expand.addAll(elements);
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * PaymentMethodCheckBalanceParams#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link PaymentMethodCheckBalanceParams#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+}
diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
index fb7e37c33ca..c98a18cbf58 100644
--- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
@@ -67,6 +67,10 @@ public class SetupIntentConfirmParams extends ApiRequestParams {
@SerializedName("return_url")
String returnUrl;
+ /** Provides industry-specific information about the SetupIntent. */
+ @SerializedName("setup_details")
+ SetupDetails setupDetails;
+
/**
* Set to {@code true} when confirming server-side and using Stripe.js, iOS, or Android
* client-side SDKs to handle the next actions.
@@ -83,6 +87,7 @@ private SetupIntentConfirmParams(
PaymentMethodData paymentMethodData,
PaymentMethodOptions paymentMethodOptions,
String returnUrl,
+ SetupDetails setupDetails,
Boolean useStripeSdk) {
this.confirmationToken = confirmationToken;
this.expand = expand;
@@ -92,6 +97,7 @@ private SetupIntentConfirmParams(
this.paymentMethodData = paymentMethodData;
this.paymentMethodOptions = paymentMethodOptions;
this.returnUrl = returnUrl;
+ this.setupDetails = setupDetails;
this.useStripeSdk = useStripeSdk;
}
@@ -116,6 +122,8 @@ public static class Builder {
private String returnUrl;
+ private SetupDetails setupDetails;
+
private Boolean useStripeSdk;
/** Finalize and obtain parameter instance from this builder. */
@@ -129,6 +137,7 @@ public SetupIntentConfirmParams build() {
this.paymentMethodData,
this.paymentMethodOptions,
this.returnUrl,
+ this.setupDetails,
this.useStripeSdk);
}
@@ -244,6 +253,12 @@ public Builder setReturnUrl(String returnUrl) {
return this;
}
+ /** Provides industry-specific information about the SetupIntent. */
+ public Builder setSetupDetails(SetupIntentConfirmParams.SetupDetails setupDetails) {
+ this.setupDetails = setupDetails;
+ return this;
+ }
+
/**
* Set to {@code true} when confirming server-side and using Stripe.js, iOS, or Android
* client-side SDKs to handle the next actions.
@@ -11964,4 +11979,221 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam {
}
}
}
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class SetupDetails {
+ /** Benefit details for this SetupIntent. */
+ @SerializedName("benefit")
+ Benefit benefit;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private SetupDetails(Benefit benefit, Map extraParams) {
+ this.benefit = benefit;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Benefit benefit;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentConfirmParams.SetupDetails build() {
+ return new SetupIntentConfirmParams.SetupDetails(this.benefit, this.extraParams);
+ }
+
+ /** Benefit details for this SetupIntent. */
+ public Builder setBenefit(SetupIntentConfirmParams.SetupDetails.Benefit benefit) {
+ this.benefit = benefit;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * SetupIntentConfirmParams.SetupDetails#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link SetupIntentConfirmParams.SetupDetails#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Benefit {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** French meal voucher benefit details for this SetupIntent. */
+ @SerializedName("fr_meal_voucher")
+ FrMealVoucher frMealVoucher;
+
+ private Benefit(Map extraParams, FrMealVoucher frMealVoucher) {
+ this.extraParams = extraParams;
+ this.frMealVoucher = frMealVoucher;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private FrMealVoucher frMealVoucher;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentConfirmParams.SetupDetails.Benefit build() {
+ return new SetupIntentConfirmParams.SetupDetails.Benefit(
+ this.extraParams, this.frMealVoucher);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentConfirmParams.SetupDetails.Benefit#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentConfirmParams.SetupDetails.Benefit#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** French meal voucher benefit details for this SetupIntent. */
+ public Builder setFrMealVoucher(
+ SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher frMealVoucher) {
+ this.frMealVoucher = frMealVoucher;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FrMealVoucher {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ @SerializedName("siret")
+ String siret;
+
+ private FrMealVoucher(Map extraParams, String siret) {
+ this.extraParams = extraParams;
+ this.siret = siret;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String siret;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher build() {
+ return new SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher(
+ this.extraParams, this.siret);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(String siret) {
+ this.siret = siret;
+ return this;
+ }
+ }
+ }
+ }
+ }
}
diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java
index 80ddcb778a9..97bbb382576 100644
--- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java
@@ -161,6 +161,10 @@ public class SetupIntentCreateParams extends ApiRequestParams {
@SerializedName("return_url")
String returnUrl;
+ /** Provides industry-specific information about the SetupIntent. */
+ @SerializedName("setup_details")
+ SetupDetails setupDetails;
+
/**
* If you populate this hash, this SetupIntent generates a {@code single_use} mandate after
* successful completion.
@@ -206,6 +210,7 @@ private SetupIntentCreateParams(
PaymentMethodOptions paymentMethodOptions,
List paymentMethodTypes,
String returnUrl,
+ SetupDetails setupDetails,
SingleUse singleUse,
Usage usage,
Boolean useStripeSdk) {
@@ -228,6 +233,7 @@ private SetupIntentCreateParams(
this.paymentMethodOptions = paymentMethodOptions;
this.paymentMethodTypes = paymentMethodTypes;
this.returnUrl = returnUrl;
+ this.setupDetails = setupDetails;
this.singleUse = singleUse;
this.usage = usage;
this.useStripeSdk = useStripeSdk;
@@ -276,6 +282,8 @@ public static class Builder {
private String returnUrl;
+ private SetupDetails setupDetails;
+
private SingleUse singleUse;
private Usage usage;
@@ -304,6 +312,7 @@ public SetupIntentCreateParams build() {
this.paymentMethodOptions,
this.paymentMethodTypes,
this.returnUrl,
+ this.setupDetails,
this.singleUse,
this.usage,
this.useStripeSdk);
@@ -588,6 +597,12 @@ public Builder setReturnUrl(String returnUrl) {
return this;
}
+ /** Provides industry-specific information about the SetupIntent. */
+ public Builder setSetupDetails(SetupIntentCreateParams.SetupDetails setupDetails) {
+ this.setupDetails = setupDetails;
+ return this;
+ }
+
/**
* If you populate this hash, this SetupIntent generates a {@code single_use} mandate after
* successful completion.
@@ -12459,6 +12474,221 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class SetupDetails {
+ /** Benefit details for this SetupIntent. */
+ @SerializedName("benefit")
+ Benefit benefit;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private SetupDetails(Benefit benefit, Map extraParams) {
+ this.benefit = benefit;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Benefit benefit;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentCreateParams.SetupDetails build() {
+ return new SetupIntentCreateParams.SetupDetails(this.benefit, this.extraParams);
+ }
+
+ /** Benefit details for this SetupIntent. */
+ public Builder setBenefit(SetupIntentCreateParams.SetupDetails.Benefit benefit) {
+ this.benefit = benefit;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * SetupIntentCreateParams.SetupDetails#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link SetupIntentCreateParams.SetupDetails#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Benefit {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** French meal voucher benefit details for this SetupIntent. */
+ @SerializedName("fr_meal_voucher")
+ FrMealVoucher frMealVoucher;
+
+ private Benefit(Map extraParams, FrMealVoucher frMealVoucher) {
+ this.extraParams = extraParams;
+ this.frMealVoucher = frMealVoucher;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private FrMealVoucher frMealVoucher;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentCreateParams.SetupDetails.Benefit build() {
+ return new SetupIntentCreateParams.SetupDetails.Benefit(
+ this.extraParams, this.frMealVoucher);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** French meal voucher benefit details for this SetupIntent. */
+ public Builder setFrMealVoucher(
+ SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher frMealVoucher) {
+ this.frMealVoucher = frMealVoucher;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FrMealVoucher {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ @SerializedName("siret")
+ String siret;
+
+ private FrMealVoucher(Map extraParams, String siret) {
+ this.extraParams = extraParams;
+ this.siret = siret;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String siret;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher build() {
+ return new SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher(
+ this.extraParams, this.siret);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(String siret) {
+ this.siret = siret;
+ return this;
+ }
+ }
+ }
+ }
+ }
+
@Getter
@EqualsAndHashCode(callSuper = false)
public static class SingleUse {
diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
index d4f25238692..d23e18aabca 100644
--- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
@@ -115,6 +115,10 @@ public class SetupIntentUpdateParams extends ApiRequestParams {
@SerializedName("payment_method_types")
List paymentMethodTypes;
+ /** Provides industry-specific information about the SetupIntent. */
+ @SerializedName("setup_details")
+ SetupDetails setupDetails;
+
private SetupIntentUpdateParams(
Boolean attachToSelf,
Object customer,
@@ -128,7 +132,8 @@ private SetupIntentUpdateParams(
Object paymentMethodConfiguration,
PaymentMethodData paymentMethodData,
PaymentMethodOptions paymentMethodOptions,
- List paymentMethodTypes) {
+ List paymentMethodTypes,
+ SetupDetails setupDetails) {
this.attachToSelf = attachToSelf;
this.customer = customer;
this.customerAccount = customerAccount;
@@ -142,6 +147,7 @@ private SetupIntentUpdateParams(
this.paymentMethodData = paymentMethodData;
this.paymentMethodOptions = paymentMethodOptions;
this.paymentMethodTypes = paymentMethodTypes;
+ this.setupDetails = setupDetails;
}
public static Builder builder() {
@@ -175,6 +181,8 @@ public static class Builder {
private List paymentMethodTypes;
+ private SetupDetails setupDetails;
+
/** Finalize and obtain parameter instance from this builder. */
public SetupIntentUpdateParams build() {
return new SetupIntentUpdateParams(
@@ -190,7 +198,8 @@ public SetupIntentUpdateParams build() {
this.paymentMethodConfiguration,
this.paymentMethodData,
this.paymentMethodOptions,
- this.paymentMethodTypes);
+ this.paymentMethodTypes,
+ this.setupDetails);
}
/**
@@ -472,6 +481,12 @@ public Builder addAllPaymentMethodType(List elements) {
this.paymentMethodTypes.addAll(elements);
return this;
}
+
+ /** Provides industry-specific information about the SetupIntent. */
+ public Builder setSetupDetails(SetupIntentUpdateParams.SetupDetails setupDetails) {
+ this.setupDetails = setupDetails;
+ return this;
+ }
}
@Getter
@@ -12197,6 +12212,227 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class SetupDetails {
+ /** Benefit details for this SetupIntent. */
+ @SerializedName("benefit")
+ Benefit benefit;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The content
+ * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
+ * key/value pair is serialized as if the key is a root-level field (serialized) name in this
+ * param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private SetupDetails(Benefit benefit, Map extraParams) {
+ this.benefit = benefit;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Benefit benefit;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentUpdateParams.SetupDetails build() {
+ return new SetupIntentUpdateParams.SetupDetails(this.benefit, this.extraParams);
+ }
+
+ /** Benefit details for this SetupIntent. */
+ public Builder setBenefit(SetupIntentUpdateParams.SetupDetails.Benefit benefit) {
+ this.benefit = benefit;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll`
+ * call, and subsequent calls add additional key/value pairs to the original map. See {@link
+ * SetupIntentUpdateParams.SetupDetails#extraParams} for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map.
+ * See {@link SetupIntentUpdateParams.SetupDetails#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Benefit {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** French meal voucher benefit details for this SetupIntent. */
+ @SerializedName("fr_meal_voucher")
+ FrMealVoucher frMealVoucher;
+
+ private Benefit(Map extraParams, FrMealVoucher frMealVoucher) {
+ this.extraParams = extraParams;
+ this.frMealVoucher = frMealVoucher;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private FrMealVoucher frMealVoucher;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentUpdateParams.SetupDetails.Benefit build() {
+ return new SetupIntentUpdateParams.SetupDetails.Benefit(
+ this.extraParams, this.frMealVoucher);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** French meal voucher benefit details for this SetupIntent. */
+ public Builder setFrMealVoucher(
+ SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher frMealVoucher) {
+ this.frMealVoucher = frMealVoucher;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class FrMealVoucher {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ @SerializedName("siret")
+ Object siret;
+
+ private FrMealVoucher(Map extraParams, Object siret) {
+ this.extraParams = extraParams;
+ this.siret = siret;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Object siret;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher build() {
+ return new SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher(
+ this.extraParams, this.siret);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(String siret) {
+ this.siret = siret;
+ return this;
+ }
+
+ /** Required. The 14-digit SIRET of the meal voucher acceptor. */
+ public Builder setSiret(EmptyParam siret) {
+ this.siret = siret;
+ return this;
+ }
+ }
+ }
+ }
+ }
+
public enum FlowDirection implements ApiRequestParams.EnumParam {
@SerializedName("inbound")
INBOUND("inbound"),
diff --git a/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java b/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java
index 652e8167f99..a9ef9344658 100644
--- a/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java
+++ b/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java
@@ -105,6 +105,9 @@ public Builder putAllExtraParam(Map map) {
}
public enum AppliedConfiguration implements ApiRequestParams.EnumParam {
+ @SerializedName("card_creator")
+ CARD_CREATOR("card_creator"),
+
@SerializedName("customer")
CUSTOMER("customer"),
diff --git a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java
index fcc1946509c..5dbf60916a1 100644
--- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java
+++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java
@@ -259,6 +259,10 @@ public Builder putAllMetadata(Map map) {
@Getter
@EqualsAndHashCode(callSuper = false)
public static class Configuration {
+ /** The CardCreator Configuration allows the Account to create and issue cards to users. */
+ @SerializedName("card_creator")
+ CardCreator cardCreator;
+
/** The Customer Configuration allows the Account to be used in inbound payment flows. */
@SerializedName("customer")
Customer customer;
@@ -292,11 +296,13 @@ public static class Configuration {
Storer storer;
private Configuration(
+ CardCreator cardCreator,
Customer customer,
Map extraParams,
Merchant merchant,
Recipient recipient,
Storer storer) {
+ this.cardCreator = cardCreator;
this.customer = customer;
this.extraParams = extraParams;
this.merchant = merchant;
@@ -309,6 +315,8 @@ public static Builder builder() {
}
public static class Builder {
+ private CardCreator cardCreator;
+
private Customer customer;
private Map extraParams;
@@ -322,7 +330,18 @@ public static class Builder {
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Configuration build() {
return new AccountCreateParams.Configuration(
- this.customer, this.extraParams, this.merchant, this.recipient, this.storer);
+ this.cardCreator,
+ this.customer,
+ this.extraParams,
+ this.merchant,
+ this.recipient,
+ this.storer);
+ }
+
+ /** The CardCreator Configuration allows the Account to create and issue cards to users. */
+ public Builder setCardCreator(AccountCreateParams.Configuration.CardCreator cardCreator) {
+ this.cardCreator = cardCreator;
+ return this;
}
/** The Customer Configuration allows the Account to be used in inbound payment flows. */
@@ -385,23 +404,8 @@ public Builder setStorer(AccountCreateParams.Configuration.Storer storer) {
@Getter
@EqualsAndHashCode(callSuper = false)
- public static class Customer {
- /**
- * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the
- * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if
- * automatic tax calculation is possible given the current customer location information.
- */
- @SerializedName("automatic_indirect_tax")
- AutomaticIndirectTax automaticIndirectTax;
-
- /**
- * Billing settings - default settings used for this customer in Billing flows such as
- * Invoices and Subscriptions.
- */
- @SerializedName("billing")
- Billing billing;
-
- /** Capabilities that have been requested on the Customer Configuration. */
+ public static class CardCreator {
+ /** Capabilities to request on the CardCreator Configuration. */
@SerializedName("capabilities")
Capabilities capabilities;
@@ -414,30 +418,9 @@ public static class Customer {
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
- /** The customer's shipping information. Appears on invoices emailed to this customer. */
- @SerializedName("shipping")
- Shipping shipping;
-
- /**
- * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and
- * when the Customer Configuration is first set on an Account.
- */
- @SerializedName("test_clock")
- String testClock;
-
- private Customer(
- AutomaticIndirectTax automaticIndirectTax,
- Billing billing,
- Capabilities capabilities,
- Map extraParams,
- Shipping shipping,
- String testClock) {
- this.automaticIndirectTax = automaticIndirectTax;
- this.billing = billing;
+ private CardCreator(Capabilities capabilities, Map extraParams) {
this.capabilities = capabilities;
this.extraParams = extraParams;
- this.shipping = shipping;
- this.testClock = testClock;
}
public static Builder builder() {
@@ -445,52 +428,19 @@ public static Builder builder() {
}
public static class Builder {
- private AutomaticIndirectTax automaticIndirectTax;
-
- private Billing billing;
-
private Capabilities capabilities;
private Map extraParams;
- private Shipping shipping;
-
- private String testClock;
-
/** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer build() {
- return new AccountCreateParams.Configuration.Customer(
- this.automaticIndirectTax,
- this.billing,
- this.capabilities,
- this.extraParams,
- this.shipping,
- this.testClock);
- }
-
- /**
- * Automatic indirect tax settings to be used when automatic tax calculation is enabled on
- * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if
- * automatic tax calculation is possible given the current customer location information.
- */
- public Builder setAutomaticIndirectTax(
- AccountCreateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) {
- this.automaticIndirectTax = automaticIndirectTax;
- return this;
- }
-
- /**
- * Billing settings - default settings used for this customer in Billing flows such as
- * Invoices and Subscriptions.
- */
- public Builder setBilling(AccountCreateParams.Configuration.Customer.Billing billing) {
- this.billing = billing;
- return this;
+ public AccountCreateParams.Configuration.CardCreator build() {
+ return new AccountCreateParams.Configuration.CardCreator(
+ this.capabilities, this.extraParams);
}
- /** Capabilities that have been requested on the Customer Configuration. */
+ /** Capabilities to request on the CardCreator Configuration. */
public Builder setCapabilities(
- AccountCreateParams.Configuration.Customer.Capabilities capabilities) {
+ AccountCreateParams.Configuration.CardCreator.Capabilities capabilities) {
this.capabilities = capabilities;
return this;
}
@@ -498,7 +448,7 @@ public Builder setCapabilities(
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field
+ * map. See {@link AccountCreateParams.Configuration.CardCreator#extraParams} for the field
* documentation.
*/
public Builder putExtraParam(String key, Object value) {
@@ -512,7 +462,7 @@ public Builder putExtraParam(String key, Object value) {
/**
* Add all map key/value pairs to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field
+ * map. See {@link AccountCreateParams.Configuration.CardCreator#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
@@ -522,33 +472,14 @@ public Builder putAllExtraParam(Map map) {
this.extraParams.putAll(map);
return this;
}
-
- /** The customer's shipping information. Appears on invoices emailed to this customer. */
- public Builder setShipping(AccountCreateParams.Configuration.Customer.Shipping shipping) {
- this.shipping = shipping;
- return this;
- }
-
- /**
- * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and
- * when the Customer Configuration is first set on an Account.
- */
- public Builder setTestClock(String testClock) {
- this.testClock = testClock;
- return this;
- }
}
@Getter
@EqualsAndHashCode(callSuper = false)
- public static class AutomaticIndirectTax {
- /**
- * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or
- * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following
- * text: “Reverse charge”.
- */
- @SerializedName("exempt")
- Exempt exempt;
+ public static class Capabilities {
+ /** Can create cards for commercial issuing use cases. */
+ @SerializedName("commercial")
+ Commercial commercial;
/**
* Map of extra parameters for custom features not available in this client library. The
@@ -560,29 +491,9 @@ public static class AutomaticIndirectTax {
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
- /**
- * A recent IP address of the customer used for tax reporting and tax location inference.
- */
- @SerializedName("ip_address")
- String ipAddress;
-
- /**
- * The data source used to identify the customer's tax location - defaults to
- * 'identity_address'. Will only be used for automatic tax calculation on the customer's
- * Invoices and Subscriptions.
- */
- @SerializedName("location_source")
- LocationSource locationSource;
-
- private AutomaticIndirectTax(
- Exempt exempt,
- Map extraParams,
- String ipAddress,
- LocationSource locationSource) {
- this.exempt = exempt;
+ private Capabilities(Commercial commercial, Map extraParams) {
+ this.commercial = commercial;
this.extraParams = extraParams;
- this.ipAddress = ipAddress;
- this.locationSource = locationSource;
}
public static Builder builder() {
@@ -590,37 +501,28 @@ public static Builder builder() {
}
public static class Builder {
- private Exempt exempt;
+ private Commercial commercial;
private Map extraParams;
- private String ipAddress;
-
- private LocationSource locationSource;
-
/** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.AutomaticIndirectTax build() {
- return new AccountCreateParams.Configuration.Customer.AutomaticIndirectTax(
- this.exempt, this.extraParams, this.ipAddress, this.locationSource);
+ public AccountCreateParams.Configuration.CardCreator.Capabilities build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities(
+ this.commercial, this.extraParams);
}
- /**
- * Describes the customer's tax exemption status, which is {@code none}, {@code exempt},
- * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following
- * text: “Reverse charge”.
- */
- public Builder setExempt(
- AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) {
- this.exempt = exempt;
+ /** Can create cards for commercial issuing use cases. */
+ public Builder setCommercial(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial commercial) {
+ this.commercial = commercial;
return this;
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link
- * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the
- * field documentation.
+ * map. See {@link AccountCreateParams.Configuration.CardCreator.Capabilities#extraParams}
+ * for the field documentation.
*/
public Builder putExtraParam(String key, Object value) {
if (this.extraParams == null) {
@@ -633,9 +535,8 @@ public Builder putExtraParam(String key, Object value) {
/**
* Add all map key/value pairs to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link
- * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the
- * field documentation.
+ * map. See {@link AccountCreateParams.Configuration.CardCreator.Capabilities#extraParams}
+ * for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
@@ -644,317 +545,387 @@ public Builder putAllExtraParam(Map map) {
this.extraParams.putAll(map);
return this;
}
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Commercial {
+ /** Can create commercial issuing cards with Celtic as BIN sponsor. */
+ @SerializedName("celtic")
+ Celtic celtic;
+
+ /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */
+ @SerializedName("cross_river_bank")
+ CrossRiverBank crossRiverBank;
/**
- * A recent IP address of the customer used for tax reporting and tax location inference.
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
*/
- public Builder setIpAddress(String ipAddress) {
- this.ipAddress = ipAddress;
- return this;
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Can create commercial issuing cards with Stripe as BIN sponsor. */
+ @SerializedName("stripe")
+ Stripe stripe;
+
+ private Commercial(
+ Celtic celtic,
+ CrossRiverBank crossRiverBank,
+ Map extraParams,
+ Stripe stripe) {
+ this.celtic = celtic;
+ this.crossRiverBank = crossRiverBank;
+ this.extraParams = extraParams;
+ this.stripe = stripe;
}
- /**
- * The data source used to identify the customer's tax location - defaults to
- * 'identity_address'. Will only be used for automatic tax calculation on the customer's
- * Invoices and Subscriptions.
- */
- public Builder setLocationSource(
- AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource
- locationSource) {
- this.locationSource = locationSource;
- return this;
+ public static Builder builder() {
+ return new Builder();
}
- }
- public enum Exempt implements ApiRequestParams.EnumParam {
- @SerializedName("exempt")
- EXEMPT("exempt"),
+ public static class Builder {
+ private Celtic celtic;
- @SerializedName("none")
- NONE("none"),
+ private CrossRiverBank crossRiverBank;
- @SerializedName("reverse")
- REVERSE("reverse");
+ private Map extraParams;
- @Getter(onMethod_ = {@Override})
- private final String value;
+ private Stripe stripe;
- Exempt(String value) {
- this.value = value;
- }
- }
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial(
+ this.celtic, this.crossRiverBank, this.extraParams, this.stripe);
+ }
- public enum LocationSource implements ApiRequestParams.EnumParam {
- @SerializedName("identity_address")
- IDENTITY_ADDRESS("identity_address"),
+ /** Can create commercial issuing cards with Celtic as BIN sponsor. */
+ public Builder setCeltic(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic
+ celtic) {
+ this.celtic = celtic;
+ return this;
+ }
- @SerializedName("ip_address")
- IP_ADDRESS("ip_address"),
+ /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */
+ public Builder setCrossRiverBank(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank
+ crossRiverBank) {
+ this.crossRiverBank = crossRiverBank;
+ return this;
+ }
- @SerializedName("shipping_address")
- SHIPPING_ADDRESS("shipping_address");
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- @Getter(onMethod_ = {@Override})
- private final String value;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- LocationSource(String value) {
- this.value = value;
+ /** Can create commercial issuing cards with Stripe as BIN sponsor. */
+ public Builder setStripe(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe
+ stripe) {
+ this.stripe = stripe;
+ return this;
+ }
}
- }
- }
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Billing {
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its parent
- * instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Celtic {
+ /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */
+ @SerializedName("charge_card")
+ ChargeCard chargeCard;
- /** Default settings used on invoices for this customer. */
- @SerializedName("invoice")
- Invoice invoice;
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName}
+ * value. Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- private Billing(Map extraParams, Invoice invoice) {
- this.extraParams = extraParams;
- this.invoice = invoice;
- }
+ /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */
+ @SerializedName("spend_card")
+ SpendCard spendCard;
- public static Builder builder() {
- return new Builder();
- }
+ private Celtic(
+ ChargeCard chargeCard, Map extraParams, SpendCard spendCard) {
+ this.chargeCard = chargeCard;
+ this.extraParams = extraParams;
+ this.spendCard = spendCard;
+ }
- public static class Builder {
- private Map extraParams;
+ public static Builder builder() {
+ return new Builder();
+ }
- private Invoice invoice;
+ public static class Builder {
+ private ChargeCard chargeCard;
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Billing build() {
- return new AccountCreateParams.Configuration.Customer.Billing(
- this.extraParams, this.invoice);
- }
+ private Map extraParams;
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the
- * field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
+ private SpendCard spendCard;
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the
- * field documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .Celtic(this.chargeCard, this.extraParams, this.spendCard);
+ }
- /** Default settings used on invoices for this customer. */
- public Builder setInvoice(
- AccountCreateParams.Configuration.Customer.Billing.Invoice invoice) {
- this.invoice = invoice;
- return this;
- }
- }
+ /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */
+ public Builder setChargeCard(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic
+ .ChargeCard
+ chargeCard) {
+ this.chargeCard = chargeCard;
+ return this;
+ }
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Invoice {
- /**
- * The list of up to 4 default custom fields to be displayed on invoices for this
- * customer.
- */
- @SerializedName("custom_fields")
- List customFields;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its
- * parent instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- /** Default footer to be displayed on invoices for this customer. */
- @SerializedName("footer")
- String footer;
+ /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */
+ public Builder setSpendCard(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic
+ .SpendCard
+ spendCard) {
+ this.spendCard = spendCard;
+ return this;
+ }
+ }
- /** The sequence to be used on the customer's next invoice. Defaults to 1. */
- @SerializedName("next_sequence")
- Long nextSequence;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ChargeCard {
+ /**
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- /**
- * The prefix for the customer used to generate unique invoice numbers. Must be 3–12
- * uppercase letters or numbers.
- */
- @SerializedName("prefix")
- String prefix;
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
- /** Default options for invoice PDF rendering for this customer. */
- @SerializedName("rendering")
- Rendering rendering;
+ private ChargeCard(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
- private Invoice(
- List
- customFields,
- Map extraParams,
- String footer,
- Long nextSequence,
- String prefix,
- Rendering rendering) {
- this.customFields = customFields;
- this.extraParams = extraParams;
- this.footer = footer;
- this.nextSequence = nextSequence;
- this.prefix = prefix;
- this.rendering = rendering;
- }
+ public static Builder builder() {
+ return new Builder();
+ }
- public static Builder builder() {
- return new Builder();
- }
+ public static class Builder {
+ private Map extraParams;
- public static class Builder {
- private List
- customFields;
+ private Boolean requested;
- private Map extraParams;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic
+ .ChargeCard
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .Celtic.ChargeCard(this.extraParams, this.requested);
+ }
- private String footer;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.ChargeCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- private Long nextSequence;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to
+ * the original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.ChargeCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- private String prefix;
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
+ }
+ }
- private Rendering rendering;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class SpendCard {
+ /**
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Billing.Invoice build() {
- return new AccountCreateParams.Configuration.Customer.Billing.Invoice(
- this.customFields,
- this.extraParams,
- this.footer,
- this.nextSequence,
- this.prefix,
- this.rendering);
- }
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
- /**
- * Add an element to `customFields` list. A list is initialized for the first
- * `add/addAll` call, and subsequent calls adds additional elements to the original
- * list. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the
- * field documentation.
- */
- public Builder addCustomField(
- AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField element) {
- if (this.customFields == null) {
- this.customFields = new ArrayList<>();
+ private SpendCard(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
}
- this.customFields.add(element);
- return this;
- }
- /**
- * Add all elements to `customFields` list. A list is initialized for the first
- * `add/addAll` call, and subsequent calls adds additional elements to the original
- * list. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the
- * field documentation.
- */
- public Builder addAllCustomField(
- List
- elements) {
- if (this.customFields == null) {
- this.customFields = new ArrayList<>();
+ public static Builder builder() {
+ return new Builder();
}
- this.customFields.addAll(elements);
- return this;
- }
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the
- * original map. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field
- * documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
+ public static class Builder {
+ private Map extraParams;
+
+ private Boolean requested;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic
+ .SpendCard
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .Celtic.SpendCard(this.extraParams, this.requested);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.SpendCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to
+ * the original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.SpendCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
}
- this.extraParams.put(key, value);
- return this;
}
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CrossRiverBank {
+ /** Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. */
+ @SerializedName("charge_card")
+ ChargeCard chargeCard;
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the
- * original map. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field
- * documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
-
- /** Default footer to be displayed on invoices for this customer. */
- public Builder setFooter(String footer) {
- this.footer = footer;
- return this;
- }
-
- /** The sequence to be used on the customer's next invoice. Defaults to 1. */
- public Builder setNextSequence(Long nextSequence) {
- this.nextSequence = nextSequence;
- return this;
- }
-
- /**
- * The prefix for the customer used to generate unique invoice numbers. Must be 3–12
- * uppercase letters or numbers.
- */
- public Builder setPrefix(String prefix) {
- this.prefix = prefix;
- return this;
- }
-
- /** Default options for invoice PDF rendering for this customer. */
- public Builder setRendering(
- AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) {
- this.rendering = rendering;
- return this;
- }
- }
-
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class CustomField {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName}
@@ -965,24 +936,15 @@ public static class CustomField {
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
- /**
- * Required. The name of the custom field. This may be up to 40
- * characters.
- */
- @SerializedName("name")
- String name;
-
- /**
- * Required. The value of the custom field. This may be up to 140
- * characters. When updating, pass an empty string to remove previously-defined values.
- */
- @SerializedName("value")
- String value;
+ /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */
+ @SerializedName("spend_card")
+ SpendCard spendCard;
- private CustomField(Map extraParams, String name, String value) {
+ private CrossRiverBank(
+ ChargeCard chargeCard, Map extraParams, SpendCard spendCard) {
+ this.chargeCard = chargeCard;
this.extraParams = extraParams;
- this.name = name;
- this.value = value;
+ this.spendCard = spendCard;
}
public static Builder builder() {
@@ -990,24 +952,36 @@ public static Builder builder() {
}
public static class Builder {
- private Map extraParams;
+ private ChargeCard chargeCard;
- private String name;
+ private Map extraParams;
- private String value;
+ private SpendCard spendCard;
/** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank
build() {
- return new AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField(
- this.extraParams, this.name, this.value);
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank(this.chargeCard, this.extraParams, this.spendCard);
+ }
+
+ /**
+ * Can create commercial issuing charge cards with Cross River Bank as BIN sponsor.
+ */
+ public Builder setChargeCard(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank.ChargeCard
+ chargeCard) {
+ this.chargeCard = chargeCard;
+ return this;
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams}
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank#extraParams}
* for the field documentation.
*/
public Builder putExtraParam(String key, Object value) {
@@ -1022,7 +996,7 @@ public Builder putExtraParam(String key, Object value) {
* Add all map key/value pairs to `extraParams` map. A map is initialized for the
* first `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams}
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank#extraParams}
* for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
@@ -1033,38 +1007,189 @@ public Builder putAllExtraParam(Map map) {
return this;
}
+ /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */
+ public Builder setSpendCard(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank.SpendCard
+ spendCard) {
+ this.spendCard = spendCard;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ChargeCard {
/**
- * Required. The name of the custom field. This may be up to 40
- * characters.
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
*/
- public Builder setName(String name) {
- this.name = name;
- return this;
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
+
+ private ChargeCard(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Boolean requested;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank.ChargeCard
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank.ChargeCard(this.extraParams, this.requested);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.ChargeCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to
+ * the original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.ChargeCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
}
+ }
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class SpendCard {
/**
- * Required. The value of the custom field. This may be up to 140
- * characters. When updating, pass an empty string to remove previously-defined
- * values.
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
*/
- public Builder setValue(String value) {
- this.value = value;
- return this;
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
+
+ private SpendCard(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Boolean requested;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank.SpendCard
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .CrossRiverBank.SpendCard(this.extraParams, this.requested);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to
+ * the original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
}
}
}
@Getter
@EqualsAndHashCode(callSuper = false)
- public static class Rendering {
- /**
- * How line-item prices and amounts will be displayed with respect to tax on invoice
- * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include
- * inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will
- * exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
- */
- @SerializedName("amount_tax_display")
- AmountTaxDisplay amountTaxDisplay;
+ public static class Stripe {
+ /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */
+ @SerializedName("charge_card")
+ ChargeCard chargeCard;
/**
* Map of extra parameters for custom features not available in this client library. The
@@ -1076,17 +1201,15 @@ public static class Rendering {
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
- /** ID of the invoice rendering template to use for future invoices. */
- @SerializedName("template")
- String template;
+ /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */
+ @SerializedName("prepaid_card")
+ PrepaidCard prepaidCard;
- private Rendering(
- AmountTaxDisplay amountTaxDisplay,
- Map extraParams,
- String template) {
- this.amountTaxDisplay = amountTaxDisplay;
+ private Stripe(
+ ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) {
+ this.chargeCard = chargeCard;
this.extraParams = extraParams;
- this.template = template;
+ this.prepaidCard = prepaidCard;
}
public static Builder builder() {
@@ -1094,30 +1217,25 @@ public static Builder builder() {
}
public static class Builder {
- private AmountTaxDisplay amountTaxDisplay;
+ private ChargeCard chargeCard;
private Map extraParams;
- private String template;
+ private PrepaidCard prepaidCard;
/** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering build() {
- return new AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering(
- this.amountTaxDisplay, this.extraParams, this.template);
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .Stripe(this.chargeCard, this.extraParams, this.prepaidCard);
}
- /**
- * How line-item prices and amounts will be displayed with respect to tax on invoice
- * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will
- * include inclusive tax (and exclude exclusive tax) in invoice PDF amounts.
- * exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF
- * amounts.
- */
- public Builder setAmountTaxDisplay(
- AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering
- .AmountTaxDisplay
- amountTaxDisplay) {
- this.amountTaxDisplay = amountTaxDisplay;
+ /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */
+ public Builder setChargeCard(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe
+ .ChargeCard
+ chargeCard) {
+ this.chargeCard = chargeCard;
return this;
}
@@ -1125,7 +1243,7 @@ public Builder setAmountTaxDisplay(
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams}
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams}
* for the field documentation.
*/
public Builder putExtraParam(String key, Object value) {
@@ -1140,7 +1258,7 @@ public Builder putExtraParam(String key, Object value) {
* Add all map key/value pairs to `extraParams` map. A map is initialized for the
* first `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams}
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams}
* for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
@@ -1151,647 +1269,509 @@ public Builder putAllExtraParam(Map map) {
return this;
}
- /** ID of the invoice rendering template to use for future invoices. */
- public Builder setTemplate(String template) {
- this.template = template;
+ /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */
+ public Builder setPrepaidCard(
+ AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe
+ .PrepaidCard
+ prepaidCard) {
+ this.prepaidCard = prepaidCard;
return this;
}
}
- public enum AmountTaxDisplay implements ApiRequestParams.EnumParam {
- @SerializedName("exclude_tax")
- EXCLUDE_TAX("exclude_tax"),
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class ChargeCard {
+ /**
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- @SerializedName("include_inclusive_tax")
- INCLUDE_INCLUSIVE_TAX("include_inclusive_tax");
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
- @Getter(onMethod_ = {@Override})
- private final String value;
+ private ChargeCard(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
- AmountTaxDisplay(String value) {
- this.value = value;
+ public static Builder builder() {
+ return new Builder();
}
- }
- }
- }
- }
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Capabilities {
- /**
- * Generates requirements for enabling automatic indirect tax calculation on this customer's
- * invoices or subscriptions. Recommended to request this capability if planning to enable
- * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code
- * location_source} field.
- */
- @SerializedName("automatic_indirect_tax")
- AutomaticIndirectTax automaticIndirectTax;
+ public static class Builder {
+ private Map extraParams;
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its parent
- * instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
+ private Boolean requested;
- private Capabilities(
- AutomaticIndirectTax automaticIndirectTax, Map extraParams) {
- this.automaticIndirectTax = automaticIndirectTax;
- this.extraParams = extraParams;
- }
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe
+ .ChargeCard
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .Stripe.ChargeCard(this.extraParams, this.requested);
+ }
- public static Builder builder() {
- return new Builder();
- }
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- public static class Builder {
- private AutomaticIndirectTax automaticIndirectTax;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to
+ * the original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- private Map extraParams;
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
+ }
+ }
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Capabilities build() {
- return new AccountCreateParams.Configuration.Customer.Capabilities(
- this.automaticIndirectTax, this.extraParams);
- }
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class PrepaidCard {
+ /**
+ * Map of extra parameters for custom features not available in this client library.
+ * The content in this map is not serialized under this field's
+ * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the
+ * key is a root-level field (serialized) name in this param object. Effectively, this
+ * map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- /**
- * Generates requirements for enabling automatic indirect tax calculation on this
- * customer's invoices or subscriptions. Recommended to request this capability if
- * planning to enable automatic tax calculation on this customer's invoices or
- * subscriptions. Uses the {@code location_source} field.
- */
- public Builder setAutomaticIndirectTax(
- AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax
- automaticIndirectTax) {
- this.automaticIndirectTax = automaticIndirectTax;
- return this;
- }
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams}
- * for the field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
-
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams}
- * for the field documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
- }
-
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class AutomaticIndirectTax {
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its
- * parent instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
-
- /**
- * Required. To request a new Capability for an account, pass true. There
- * can be a delay before the requested Capability becomes active.
- */
- @SerializedName("requested")
- Boolean requested;
+ private PrepaidCard(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
- private AutomaticIndirectTax(Map extraParams, Boolean requested) {
- this.extraParams = extraParams;
- this.requested = requested;
- }
+ public static Builder builder() {
+ return new Builder();
+ }
- public static Builder builder() {
- return new Builder();
- }
+ public static class Builder {
+ private Map extraParams;
- public static class Builder {
- private Map extraParams;
+ private Boolean requested;
- private Boolean requested;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe
+ .PrepaidCard
+ build() {
+ return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial
+ .Stripe.PrepaidCard(this.extraParams, this.requested);
+ }
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax
- build() {
- return new AccountCreateParams.Configuration.Customer.Capabilities
- .AutomaticIndirectTax(this.extraParams, this.requested);
- }
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the
- * original map. See {@link
- * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams}
- * for the field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to
+ * the original map. See {@link
+ * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the
- * original map. See {@link
- * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams}
- * for the field documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
}
- this.extraParams.putAll(map);
- return this;
- }
-
- /**
- * Required. To request a new Capability for an account, pass true.
- * There can be a delay before the requested Capability becomes active.
- */
- public Builder setRequested(Boolean requested) {
- this.requested = requested;
- return this;
}
}
}
}
+ }
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Shipping {
- /** Customer shipping address. */
- @SerializedName("address")
- Address address;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Customer {
+ /**
+ * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the
+ * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if
+ * automatic tax calculation is possible given the current customer location information.
+ */
+ @SerializedName("automatic_indirect_tax")
+ AutomaticIndirectTax automaticIndirectTax;
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its parent
- * instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
+ /**
+ * Billing settings - default settings used for this customer in Billing flows such as
+ * Invoices and Subscriptions.
+ */
+ @SerializedName("billing")
+ Billing billing;
- /** Customer name. */
- @SerializedName("name")
- String name;
+ /** Capabilities that have been requested on the Customer Configuration. */
+ @SerializedName("capabilities")
+ Capabilities capabilities;
- /** Customer phone (including extension). */
- @SerializedName("phone")
- String phone;
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- private Shipping(
- Address address, Map extraParams, String name, String phone) {
- this.address = address;
- this.extraParams = extraParams;
- this.name = name;
- this.phone = phone;
- }
+ /** The customer's shipping information. Appears on invoices emailed to this customer. */
+ @SerializedName("shipping")
+ Shipping shipping;
- public static Builder builder() {
- return new Builder();
- }
+ /**
+ * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and
+ * when the Customer Configuration is first set on an Account.
+ */
+ @SerializedName("test_clock")
+ String testClock;
- public static class Builder {
- private Address address;
+ private Customer(
+ AutomaticIndirectTax automaticIndirectTax,
+ Billing billing,
+ Capabilities capabilities,
+ Map extraParams,
+ Shipping shipping,
+ String testClock) {
+ this.automaticIndirectTax = automaticIndirectTax;
+ this.billing = billing;
+ this.capabilities = capabilities;
+ this.extraParams = extraParams;
+ this.shipping = shipping;
+ this.testClock = testClock;
+ }
- private Map extraParams;
+ public static Builder builder() {
+ return new Builder();
+ }
- private String name;
+ public static class Builder {
+ private AutomaticIndirectTax automaticIndirectTax;
- private String phone;
+ private Billing billing;
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Shipping build() {
- return new AccountCreateParams.Configuration.Customer.Shipping(
- this.address, this.extraParams, this.name, this.phone);
- }
+ private Capabilities capabilities;
- /** Customer shipping address. */
- public Builder setAddress(
- AccountCreateParams.Configuration.Customer.Shipping.Address address) {
- this.address = address;
- return this;
- }
+ private Map extraParams;
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for
- * the field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
+ private Shipping shipping;
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for
- * the field documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
+ private String testClock;
- /** Customer name. */
- public Builder setName(String name) {
- this.name = name;
- return this;
- }
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer build() {
+ return new AccountCreateParams.Configuration.Customer(
+ this.automaticIndirectTax,
+ this.billing,
+ this.capabilities,
+ this.extraParams,
+ this.shipping,
+ this.testClock);
+ }
- /** Customer phone (including extension). */
- public Builder setPhone(String phone) {
- this.phone = phone;
- return this;
- }
+ /**
+ * Automatic indirect tax settings to be used when automatic tax calculation is enabled on
+ * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if
+ * automatic tax calculation is possible given the current customer location information.
+ */
+ public Builder setAutomaticIndirectTax(
+ AccountCreateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) {
+ this.automaticIndirectTax = automaticIndirectTax;
+ return this;
}
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Address {
- /** City, district, suburb, town, or village. */
- @SerializedName("city")
- String city;
+ /**
+ * Billing settings - default settings used for this customer in Billing flows such as
+ * Invoices and Subscriptions.
+ */
+ public Builder setBilling(AccountCreateParams.Configuration.Customer.Billing billing) {
+ this.billing = billing;
+ return this;
+ }
- /**
- * Two-letter country code (ISO
- * 3166-1 alpha-2).
- */
- @SerializedName("country")
- String country;
+ /** Capabilities that have been requested on the Customer Configuration. */
+ public Builder setCapabilities(
+ AccountCreateParams.Configuration.Customer.Capabilities capabilities) {
+ this.capabilities = capabilities;
+ return this;
+ }
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its
- * parent instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- /** Address line 1 (e.g., street, PO Box, or company name). */
- @SerializedName("line1")
- String line1;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- /** Address line 2 (e.g., apartment, suite, unit, or building). */
- @SerializedName("line2")
- String line2;
+ /** The customer's shipping information. Appears on invoices emailed to this customer. */
+ public Builder setShipping(AccountCreateParams.Configuration.Customer.Shipping shipping) {
+ this.shipping = shipping;
+ return this;
+ }
- /** ZIP or postal code. */
- @SerializedName("postal_code")
- String postalCode;
+ /**
+ * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and
+ * when the Customer Configuration is first set on an Account.
+ */
+ public Builder setTestClock(String testClock) {
+ this.testClock = testClock;
+ return this;
+ }
+ }
- /** State, county, province, or region. */
- @SerializedName("state")
- String state;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class AutomaticIndirectTax {
+ /**
+ * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or
+ * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following
+ * text: “Reverse charge”.
+ */
+ @SerializedName("exempt")
+ Exempt exempt;
- private Address(
- String city,
- String country,
- Map extraParams,
- String line1,
- String line2,
- String postalCode,
- String state) {
- this.city = city;
- this.country = country;
- this.extraParams = extraParams;
- this.line1 = line1;
- this.line2 = line2;
- this.postalCode = postalCode;
- this.state = state;
- }
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- public static Builder builder() {
- return new Builder();
- }
+ /**
+ * A recent IP address of the customer used for tax reporting and tax location inference.
+ */
+ @SerializedName("ip_address")
+ String ipAddress;
- public static class Builder {
- private String city;
+ /**
+ * The data source used to identify the customer's tax location - defaults to
+ * 'identity_address'. Will only be used for automatic tax calculation on the customer's
+ * Invoices and Subscriptions.
+ */
+ @SerializedName("location_source")
+ LocationSource locationSource;
- private String country;
+ private AutomaticIndirectTax(
+ Exempt exempt,
+ Map extraParams,
+ String ipAddress,
+ LocationSource locationSource) {
+ this.exempt = exempt;
+ this.extraParams = extraParams;
+ this.ipAddress = ipAddress;
+ this.locationSource = locationSource;
+ }
- private Map extraParams;
+ public static Builder builder() {
+ return new Builder();
+ }
- private String line1;
+ public static class Builder {
+ private Exempt exempt;
- private String line2;
+ private Map extraParams;
- private String postalCode;
+ private String ipAddress;
- private String state;
+ private LocationSource locationSource;
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Customer.Shipping.Address build() {
- return new AccountCreateParams.Configuration.Customer.Shipping.Address(
- this.city,
- this.country,
- this.extraParams,
- this.line1,
- this.line2,
- this.postalCode,
- this.state);
- }
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.AutomaticIndirectTax build() {
+ return new AccountCreateParams.Configuration.Customer.AutomaticIndirectTax(
+ this.exempt, this.extraParams, this.ipAddress, this.locationSource);
+ }
- /** City, district, suburb, town, or village. */
- public Builder setCity(String city) {
- this.city = city;
- return this;
- }
+ /**
+ * Describes the customer's tax exemption status, which is {@code none}, {@code exempt},
+ * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following
+ * text: “Reverse charge”.
+ */
+ public Builder setExempt(
+ AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) {
+ this.exempt = exempt;
+ return this;
+ }
- /**
- * Two-letter country code (ISO 3166-1 alpha-2).
- */
- public Builder setCountry(String country) {
- this.country = country;
- return this;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
}
+ this.extraParams.put(key, value);
+ return this;
+ }
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the
- * original map. See {@link
- * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the
- * field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
}
+ this.extraParams.putAll(map);
+ return this;
+ }
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the
- * original map. See {@link
- * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the
- * field documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
-
- /** Address line 1 (e.g., street, PO Box, or company name). */
- public Builder setLine1(String line1) {
- this.line1 = line1;
- return this;
- }
-
- /** Address line 2 (e.g., apartment, suite, unit, or building). */
- public Builder setLine2(String line2) {
- this.line2 = line2;
- return this;
- }
-
- /** ZIP or postal code. */
- public Builder setPostalCode(String postalCode) {
- this.postalCode = postalCode;
- return this;
- }
+ /**
+ * A recent IP address of the customer used for tax reporting and tax location inference.
+ */
+ public Builder setIpAddress(String ipAddress) {
+ this.ipAddress = ipAddress;
+ return this;
+ }
- /** State, county, province, or region. */
- public Builder setState(String state) {
- this.state = state;
- return this;
- }
+ /**
+ * The data source used to identify the customer's tax location - defaults to
+ * 'identity_address'. Will only be used for automatic tax calculation on the customer's
+ * Invoices and Subscriptions.
+ */
+ public Builder setLocationSource(
+ AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource
+ locationSource) {
+ this.locationSource = locationSource;
+ return this;
}
}
- }
- }
-
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Merchant {
- /** Settings used for Bacs debit payments. */
- @SerializedName("bacs_debit_payments")
- BacsDebitPayments bacsDebitPayments;
-
- /**
- * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and
- * other products.
- */
- @SerializedName("branding")
- Branding branding;
-
- /** Capabilities to request on the Merchant Configuration. */
- @SerializedName("capabilities")
- Capabilities capabilities;
-
- /** Card payments settings. */
- @SerializedName("card_payments")
- CardPayments cardPayments;
-
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
- * name in this param object. Effectively, this map is flattened to its parent instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
-
- /**
- * The merchant category code for the Merchant Configuration. MCCs are used to classify
- * businesses based on the goods or services they provide.
- */
- @SerializedName("mcc")
- String mcc;
-
- /** Statement descriptor. */
- @SerializedName("statement_descriptor")
- StatementDescriptor statementDescriptor;
-
- /** Publicly available contact information for sending support issues to. */
- @SerializedName("support")
- Support support;
-
- private Merchant(
- BacsDebitPayments bacsDebitPayments,
- Branding branding,
- Capabilities capabilities,
- CardPayments cardPayments,
- Map extraParams,
- String mcc,
- StatementDescriptor statementDescriptor,
- Support support) {
- this.bacsDebitPayments = bacsDebitPayments;
- this.branding = branding;
- this.capabilities = capabilities;
- this.cardPayments = cardPayments;
- this.extraParams = extraParams;
- this.mcc = mcc;
- this.statementDescriptor = statementDescriptor;
- this.support = support;
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
- private BacsDebitPayments bacsDebitPayments;
-
- private Branding branding;
-
- private Capabilities capabilities;
-
- private CardPayments cardPayments;
-
- private Map extraParams;
- private String mcc;
+ public enum Exempt implements ApiRequestParams.EnumParam {
+ @SerializedName("exempt")
+ EXEMPT("exempt"),
- private StatementDescriptor statementDescriptor;
+ @SerializedName("none")
+ NONE("none"),
- private Support support;
+ @SerializedName("reverse")
+ REVERSE("reverse");
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Merchant build() {
- return new AccountCreateParams.Configuration.Merchant(
- this.bacsDebitPayments,
- this.branding,
- this.capabilities,
- this.cardPayments,
- this.extraParams,
- this.mcc,
- this.statementDescriptor,
- this.support);
- }
+ @Getter(onMethod_ = {@Override})
+ private final String value;
- /** Settings used for Bacs debit payments. */
- public Builder setBacsDebitPayments(
- AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) {
- this.bacsDebitPayments = bacsDebitPayments;
- return this;
+ Exempt(String value) {
+ this.value = value;
+ }
}
- /**
- * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and
- * other products.
- */
- public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) {
- this.branding = branding;
- return this;
- }
+ public enum LocationSource implements ApiRequestParams.EnumParam {
+ @SerializedName("identity_address")
+ IDENTITY_ADDRESS("identity_address"),
- /** Capabilities to request on the Merchant Configuration. */
- public Builder setCapabilities(
- AccountCreateParams.Configuration.Merchant.Capabilities capabilities) {
- this.capabilities = capabilities;
- return this;
- }
+ @SerializedName("ip_address")
+ IP_ADDRESS("ip_address"),
- /** Card payments settings. */
- public Builder setCardPayments(
- AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) {
- this.cardPayments = cardPayments;
- return this;
- }
+ @SerializedName("shipping_address")
+ SHIPPING_ADDRESS("shipping_address");
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field
- * documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
- return this;
- }
+ @Getter(onMethod_ = {@Override})
+ private final String value;
- /**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field
- * documentation.
- */
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
+ LocationSource(String value) {
+ this.value = value;
}
- this.extraParams.putAll(map);
- return this;
- }
-
- /**
- * The merchant category code for the Merchant Configuration. MCCs are used to classify
- * businesses based on the goods or services they provide.
- */
- public Builder setMcc(String mcc) {
- this.mcc = mcc;
- return this;
- }
-
- /** Statement descriptor. */
- public Builder setStatementDescriptor(
- AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) {
- this.statementDescriptor = statementDescriptor;
- return this;
- }
-
- /** Publicly available contact information for sending support issues to. */
- public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) {
- this.support = support;
- return this;
}
}
@Getter
@EqualsAndHashCode(callSuper = false)
- public static class BacsDebitPayments {
- /** Display name for Bacs debit payments. */
- @SerializedName("display_name")
- String displayName;
-
+ public static class Billing {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -1802,9 +1782,13 @@ public static class BacsDebitPayments {
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
- private BacsDebitPayments(String displayName, Map extraParams) {
- this.displayName = displayName;
+ /** Default settings used on invoices for this customer. */
+ @SerializedName("invoice")
+ Invoice invoice;
+
+ private Billing(Map extraParams, Invoice invoice) {
this.extraParams = extraParams;
+ this.invoice = invoice;
}
public static Builder builder() {
@@ -1812,28 +1796,21 @@ public static Builder builder() {
}
public static class Builder {
- private String displayName;
-
private Map extraParams;
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() {
- return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments(
- this.displayName, this.extraParams);
- }
+ private Invoice invoice;
- /** Display name for Bacs debit payments. */
- public Builder setDisplayName(String displayName) {
- this.displayName = displayName;
- return this;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Billing build() {
+ return new AccountCreateParams.Configuration.Customer.Billing(
+ this.extraParams, this.invoice);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link
- * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field
- * documentation.
+ * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the
+ * field documentation.
*/
public Builder putExtraParam(String key, Object value) {
if (this.extraParams == null) {
@@ -1846,9 +1823,8 @@ public Builder putExtraParam(String key, Object value) {
/**
* Add all map key/value pairs to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link
- * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field
- * documentation.
+ * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the
+ * field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
@@ -1857,420 +1833,441 @@ public Builder putAllExtraParam(Map map) {
this.extraParams.putAll(map);
return this;
}
- }
- }
-
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Branding {
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its parent
- * instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
-
- /**
- * ID of a file upload:
- * An icon for the merchant. Must be square and at least 128px x 128px.
- */
- @SerializedName("icon")
- String icon;
-
- /**
- * ID of a file upload:
- * A logo for the merchant that will be used in Checkout instead of the icon and without the
- * merchant's name next to it if provided. Must be at least 128px x 128px.
- */
- @SerializedName("logo")
- String logo;
-
- /** A CSS hex color value representing the primary branding color for the merchant. */
- @SerializedName("primary_color")
- String primaryColor;
-
- /** A CSS hex color value representing the secondary branding color for the merchant. */
- @SerializedName("secondary_color")
- String secondaryColor;
-
- private Branding(
- Map extraParams,
- String icon,
- String logo,
- String primaryColor,
- String secondaryColor) {
- this.extraParams = extraParams;
- this.icon = icon;
- this.logo = logo;
- this.primaryColor = primaryColor;
- this.secondaryColor = secondaryColor;
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
- private Map extraParams;
-
- private String icon;
-
- private String logo;
-
- private String primaryColor;
-
- private String secondaryColor;
-
- /** Finalize and obtain parameter instance from this builder. */
- public AccountCreateParams.Configuration.Merchant.Branding build() {
- return new AccountCreateParams.Configuration.Merchant.Branding(
- this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor);
- }
- /**
- * Add a key/value pair to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for
- * the field documentation.
- */
- public Builder putExtraParam(String key, Object value) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.put(key, value);
+ /** Default settings used on invoices for this customer. */
+ public Builder setInvoice(
+ AccountCreateParams.Configuration.Customer.Billing.Invoice invoice) {
+ this.invoice = invoice;
return this;
}
+ }
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Invoice {
/**
- * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
- * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
- * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for
- * the field documentation.
+ * The list of up to 4 default custom fields to be displayed on invoices for this
+ * customer.
*/
- public Builder putAllExtraParam(Map map) {
- if (this.extraParams == null) {
- this.extraParams = new HashMap<>();
- }
- this.extraParams.putAll(map);
- return this;
- }
+ @SerializedName("custom_fields")
+ List customFields;
/**
- * ID of a file
- * upload: An icon for the merchant. Must be square and at least 128px x 128px.
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
*/
- public Builder setIcon(String icon) {
- this.icon = icon;
- return this;
- }
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Default footer to be displayed on invoices for this customer. */
+ @SerializedName("footer")
+ String footer;
+
+ /** The sequence to be used on the customer's next invoice. Defaults to 1. */
+ @SerializedName("next_sequence")
+ Long nextSequence;
/**
- * ID of a file
- * upload: A logo for the merchant that will be used in Checkout instead of the icon
- * and without the merchant's name next to it if provided. Must be at least 128px x 128px.
+ * The prefix for the customer used to generate unique invoice numbers. Must be 3–12
+ * uppercase letters or numbers.
*/
- public Builder setLogo(String logo) {
- this.logo = logo;
- return this;
- }
+ @SerializedName("prefix")
+ String prefix;
- /** A CSS hex color value representing the primary branding color for the merchant. */
- public Builder setPrimaryColor(String primaryColor) {
- this.primaryColor = primaryColor;
- return this;
- }
+ /** Default options for invoice PDF rendering for this customer. */
+ @SerializedName("rendering")
+ Rendering rendering;
- /** A CSS hex color value representing the secondary branding color for the merchant. */
- public Builder setSecondaryColor(String secondaryColor) {
- this.secondaryColor = secondaryColor;
- return this;
+ private Invoice(
+ List
+ customFields,
+ Map extraParams,
+ String footer,
+ Long nextSequence,
+ String prefix,
+ Rendering rendering) {
+ this.customFields = customFields;
+ this.extraParams = extraParams;
+ this.footer = footer;
+ this.nextSequence = nextSequence;
+ this.prefix = prefix;
+ this.rendering = rendering;
}
- }
- }
- @Getter
- @EqualsAndHashCode(callSuper = false)
- public static class Capabilities {
- /** Allow the merchant to process ACH debit payments. */
- @SerializedName("ach_debit_payments")
- AchDebitPayments achDebitPayments;
+ public static Builder builder() {
+ return new Builder();
+ }
- /** Allow the merchant to process ACSS debit payments. */
- @SerializedName("acss_debit_payments")
- AcssDebitPayments acssDebitPayments;
+ public static class Builder {
+ private List
+ customFields;
- /** Allow the merchant to process Affirm payments. */
- @SerializedName("affirm_payments")
- AffirmPayments affirmPayments;
+ private Map extraParams;
- /** Allow the merchant to process Afterpay/Clearpay payments. */
- @SerializedName("afterpay_clearpay_payments")
- AfterpayClearpayPayments afterpayClearpayPayments;
+ private String footer;
- /** Allow the merchant to process Alma payments. */
- @SerializedName("alma_payments")
- AlmaPayments almaPayments;
+ private Long nextSequence;
- /** Allow the merchant to process Amazon Pay payments. */
- @SerializedName("amazon_pay_payments")
- AmazonPayPayments amazonPayPayments;
+ private String prefix;
- /** Allow the merchant to process Australian BECS Direct Debit payments. */
- @SerializedName("au_becs_debit_payments")
- AuBecsDebitPayments auBecsDebitPayments;
+ private Rendering rendering;
- /** Allow the merchant to process BACS Direct Debit payments. */
- @SerializedName("bacs_debit_payments")
- BacsDebitPayments bacsDebitPayments;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Billing.Invoice build() {
+ return new AccountCreateParams.Configuration.Customer.Billing.Invoice(
+ this.customFields,
+ this.extraParams,
+ this.footer,
+ this.nextSequence,
+ this.prefix,
+ this.rendering);
+ }
- /** Allow the merchant to process Bancontact payments. */
- @SerializedName("bancontact_payments")
- BancontactPayments bancontactPayments;
+ /**
+ * Add an element to `customFields` list. A list is initialized for the first
+ * `add/addAll` call, and subsequent calls adds additional elements to the original
+ * list. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the
+ * field documentation.
+ */
+ public Builder addCustomField(
+ AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField element) {
+ if (this.customFields == null) {
+ this.customFields = new ArrayList<>();
+ }
+ this.customFields.add(element);
+ return this;
+ }
- /** Allow the merchant to process BLIK payments. */
- @SerializedName("blik_payments")
- BlikPayments blikPayments;
+ /**
+ * Add all elements to `customFields` list. A list is initialized for the first
+ * `add/addAll` call, and subsequent calls adds additional elements to the original
+ * list. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the
+ * field documentation.
+ */
+ public Builder addAllCustomField(
+ List
+ elements) {
+ if (this.customFields == null) {
+ this.customFields = new ArrayList<>();
+ }
+ this.customFields.addAll(elements);
+ return this;
+ }
- /** Allow the merchant to process Boleto payments. */
- @SerializedName("boleto_payments")
- BoletoPayments boletoPayments;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- /** Allow the merchant to collect card payments. */
- @SerializedName("card_payments")
- CardPayments cardPayments;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- /** Allow the merchant to process Cartes Bancaires payments. */
- @SerializedName("cartes_bancaires_payments")
- CartesBancairesPayments cartesBancairesPayments;
+ /** Default footer to be displayed on invoices for this customer. */
+ public Builder setFooter(String footer) {
+ this.footer = footer;
+ return this;
+ }
- /** Allow the merchant to process Cash App payments. */
- @SerializedName("cashapp_payments")
- CashappPayments cashappPayments;
+ /** The sequence to be used on the customer's next invoice. Defaults to 1. */
+ public Builder setNextSequence(Long nextSequence) {
+ this.nextSequence = nextSequence;
+ return this;
+ }
- /** Allow the merchant to process EPS payments. */
- @SerializedName("eps_payments")
- EpsPayments epsPayments;
+ /**
+ * The prefix for the customer used to generate unique invoice numbers. Must be 3–12
+ * uppercase letters or numbers.
+ */
+ public Builder setPrefix(String prefix) {
+ this.prefix = prefix;
+ return this;
+ }
- /**
- * Map of extra parameters for custom features not available in this client library. The
- * content in this map is not serialized under this field's {@code @SerializedName} value.
- * Instead, each key/value pair is serialized as if the key is a root-level field
- * (serialized) name in this param object. Effectively, this map is flattened to its parent
- * instance.
- */
- @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
- Map extraParams;
+ /** Default options for invoice PDF rendering for this customer. */
+ public Builder setRendering(
+ AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) {
+ this.rendering = rendering;
+ return this;
+ }
+ }
- /** Allow the merchant to process FPX payments. */
- @SerializedName("fpx_payments")
- FpxPayments fpxPayments;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class CustomField {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName}
+ * value. Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- /** Allow the merchant to process UK bank transfer payments. */
- @SerializedName("gb_bank_transfer_payments")
- GbBankTransferPayments gbBankTransferPayments;
+ /**
+ * Required. The name of the custom field. This may be up to 40
+ * characters.
+ */
+ @SerializedName("name")
+ String name;
- /** Allow the merchant to process GrabPay payments. */
- @SerializedName("grabpay_payments")
- GrabpayPayments grabpayPayments;
+ /**
+ * Required. The value of the custom field. This may be up to 140
+ * characters. When updating, pass an empty string to remove previously-defined values.
+ */
+ @SerializedName("value")
+ String value;
- /** Allow the merchant to process iDEAL payments. */
- @SerializedName("ideal_payments")
- IdealPayments idealPayments;
+ private CustomField(Map extraParams, String name, String value) {
+ this.extraParams = extraParams;
+ this.name = name;
+ this.value = value;
+ }
- /** Allow the merchant to process JCB card payments. */
- @SerializedName("jcb_payments")
- JcbPayments jcbPayments;
+ public static Builder builder() {
+ return new Builder();
+ }
- /** Allow the merchant to process Japanese bank transfer payments. */
- @SerializedName("jp_bank_transfer_payments")
- JpBankTransferPayments jpBankTransferPayments;
+ public static class Builder {
+ private Map extraParams;
- /** Allow the merchant to process Kakao Pay payments. */
- @SerializedName("kakao_pay_payments")
- KakaoPayPayments kakaoPayPayments;
+ private String name;
- /** Allow the merchant to process Klarna payments. */
- @SerializedName("klarna_payments")
- KlarnaPayments klarnaPayments;
+ private String value;
- /** Allow the merchant to process Konbini convenience store payments. */
- @SerializedName("konbini_payments")
- KonbiniPayments konbiniPayments;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField
+ build() {
+ return new AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField(
+ this.extraParams, this.name, this.value);
+ }
- /** Allow the merchant to process Korean card payments. */
- @SerializedName("kr_card_payments")
- KrCardPayments krCardPayments;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- /** Allow the merchant to process Link payments. */
- @SerializedName("link_payments")
- LinkPayments linkPayments;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- /** Allow the merchant to process MobilePay payments. */
- @SerializedName("mobilepay_payments")
- MobilepayPayments mobilepayPayments;
+ /**
+ * Required. The name of the custom field. This may be up to 40
+ * characters.
+ */
+ public Builder setName(String name) {
+ this.name = name;
+ return this;
+ }
- /** Allow the merchant to process Multibanco payments. */
- @SerializedName("multibanco_payments")
- MultibancoPayments multibancoPayments;
+ /**
+ * Required. The value of the custom field. This may be up to 140
+ * characters. When updating, pass an empty string to remove previously-defined
+ * values.
+ */
+ public Builder setValue(String value) {
+ this.value = value;
+ return this;
+ }
+ }
+ }
- /** Allow the merchant to process Mexican bank transfer payments. */
- @SerializedName("mx_bank_transfer_payments")
- MxBankTransferPayments mxBankTransferPayments;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Rendering {
+ /**
+ * How line-item prices and amounts will be displayed with respect to tax on invoice
+ * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include
+ * inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will
+ * exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
+ */
+ @SerializedName("amount_tax_display")
+ AmountTaxDisplay amountTaxDisplay;
- /** Allow the merchant to process Naver Pay payments. */
- @SerializedName("naver_pay_payments")
- NaverPayPayments naverPayPayments;
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName}
+ * value. Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- /** Allow the merchant to process OXXO payments. */
- @SerializedName("oxxo_payments")
- OxxoPayments oxxoPayments;
+ /** ID of the invoice rendering template to use for future invoices. */
+ @SerializedName("template")
+ String template;
- /** Allow the merchant to process Przelewy24 (P24) payments. */
- @SerializedName("p24_payments")
- P24Payments p24Payments;
+ private Rendering(
+ AmountTaxDisplay amountTaxDisplay,
+ Map extraParams,
+ String template) {
+ this.amountTaxDisplay = amountTaxDisplay;
+ this.extraParams = extraParams;
+ this.template = template;
+ }
- /** Allow the merchant to process Pay by Bank payments. */
- @SerializedName("pay_by_bank_payments")
- PayByBankPayments payByBankPayments;
+ public static Builder builder() {
+ return new Builder();
+ }
- /** Allow the merchant to process PAYCO payments. */
- @SerializedName("payco_payments")
- PaycoPayments paycoPayments;
+ public static class Builder {
+ private AmountTaxDisplay amountTaxDisplay;
- /** Allow the merchant to process PayNow payments. */
- @SerializedName("paynow_payments")
- PaynowPayments paynowPayments;
+ private Map extraParams;
- /** Allow the merchant to process PromptPay payments. */
- @SerializedName("promptpay_payments")
- PromptpayPayments promptpayPayments;
+ private String template;
- /** Allow the merchant to process Revolut Pay payments. */
- @SerializedName("revolut_pay_payments")
- RevolutPayPayments revolutPayPayments;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering build() {
+ return new AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering(
+ this.amountTaxDisplay, this.extraParams, this.template);
+ }
- /** Allow the merchant to process Samsung Pay payments. */
- @SerializedName("samsung_pay_payments")
- SamsungPayPayments samsungPayPayments;
+ /**
+ * How line-item prices and amounts will be displayed with respect to tax on invoice
+ * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will
+ * include inclusive tax (and exclude exclusive tax) in invoice PDF amounts.
+ * exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF
+ * amounts.
+ */
+ public Builder setAmountTaxDisplay(
+ AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering
+ .AmountTaxDisplay
+ amountTaxDisplay) {
+ this.amountTaxDisplay = amountTaxDisplay;
+ return this;
+ }
- /** Allow the merchant to process SEPA bank transfer payments. */
- @SerializedName("sepa_bank_transfer_payments")
- SepaBankTransferPayments sepaBankTransferPayments;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- /** Allow the merchant to process SEPA Direct Debit payments. */
- @SerializedName("sepa_debit_payments")
- SepaDebitPayments sepaDebitPayments;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the
+ * first `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- /** Allow the merchant to process Swish payments. */
- @SerializedName("swish_payments")
- SwishPayments swishPayments;
+ /** ID of the invoice rendering template to use for future invoices. */
+ public Builder setTemplate(String template) {
+ this.template = template;
+ return this;
+ }
+ }
- /** Allow the merchant to process TWINT payments. */
- @SerializedName("twint_payments")
- TwintPayments twintPayments;
+ public enum AmountTaxDisplay implements ApiRequestParams.EnumParam {
+ @SerializedName("exclude_tax")
+ EXCLUDE_TAX("exclude_tax"),
- /** Allow the merchant to process US bank transfer payments. */
- @SerializedName("us_bank_transfer_payments")
- UsBankTransferPayments usBankTransferPayments;
+ @SerializedName("include_inclusive_tax")
+ INCLUDE_INCLUSIVE_TAX("include_inclusive_tax");
- /** Allow the merchant to process Zip payments. */
- @SerializedName("zip_payments")
- ZipPayments zipPayments;
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ AmountTaxDisplay(String value) {
+ this.value = value;
+ }
+ }
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Capabilities {
+ /**
+ * Generates requirements for enabling automatic indirect tax calculation on this customer's
+ * invoices or subscriptions. Recommended to request this capability if planning to enable
+ * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code
+ * location_source} field.
+ */
+ @SerializedName("automatic_indirect_tax")
+ AutomaticIndirectTax automaticIndirectTax;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
private Capabilities(
- AchDebitPayments achDebitPayments,
- AcssDebitPayments acssDebitPayments,
- AffirmPayments affirmPayments,
- AfterpayClearpayPayments afterpayClearpayPayments,
- AlmaPayments almaPayments,
- AmazonPayPayments amazonPayPayments,
- AuBecsDebitPayments auBecsDebitPayments,
- BacsDebitPayments bacsDebitPayments,
- BancontactPayments bancontactPayments,
- BlikPayments blikPayments,
- BoletoPayments boletoPayments,
- CardPayments cardPayments,
- CartesBancairesPayments cartesBancairesPayments,
- CashappPayments cashappPayments,
- EpsPayments epsPayments,
- Map extraParams,
- FpxPayments fpxPayments,
- GbBankTransferPayments gbBankTransferPayments,
- GrabpayPayments grabpayPayments,
- IdealPayments idealPayments,
- JcbPayments jcbPayments,
- JpBankTransferPayments jpBankTransferPayments,
- KakaoPayPayments kakaoPayPayments,
- KlarnaPayments klarnaPayments,
- KonbiniPayments konbiniPayments,
- KrCardPayments krCardPayments,
- LinkPayments linkPayments,
- MobilepayPayments mobilepayPayments,
- MultibancoPayments multibancoPayments,
- MxBankTransferPayments mxBankTransferPayments,
- NaverPayPayments naverPayPayments,
- OxxoPayments oxxoPayments,
- P24Payments p24Payments,
- PayByBankPayments payByBankPayments,
- PaycoPayments paycoPayments,
- PaynowPayments paynowPayments,
- PromptpayPayments promptpayPayments,
- RevolutPayPayments revolutPayPayments,
- SamsungPayPayments samsungPayPayments,
- SepaBankTransferPayments sepaBankTransferPayments,
- SepaDebitPayments sepaDebitPayments,
- SwishPayments swishPayments,
- TwintPayments twintPayments,
- UsBankTransferPayments usBankTransferPayments,
- ZipPayments zipPayments) {
- this.achDebitPayments = achDebitPayments;
- this.acssDebitPayments = acssDebitPayments;
- this.affirmPayments = affirmPayments;
- this.afterpayClearpayPayments = afterpayClearpayPayments;
- this.almaPayments = almaPayments;
- this.amazonPayPayments = amazonPayPayments;
- this.auBecsDebitPayments = auBecsDebitPayments;
- this.bacsDebitPayments = bacsDebitPayments;
- this.bancontactPayments = bancontactPayments;
- this.blikPayments = blikPayments;
- this.boletoPayments = boletoPayments;
- this.cardPayments = cardPayments;
- this.cartesBancairesPayments = cartesBancairesPayments;
- this.cashappPayments = cashappPayments;
- this.epsPayments = epsPayments;
+ AutomaticIndirectTax automaticIndirectTax, Map extraParams) {
+ this.automaticIndirectTax = automaticIndirectTax;
this.extraParams = extraParams;
- this.fpxPayments = fpxPayments;
- this.gbBankTransferPayments = gbBankTransferPayments;
- this.grabpayPayments = grabpayPayments;
- this.idealPayments = idealPayments;
- this.jcbPayments = jcbPayments;
- this.jpBankTransferPayments = jpBankTransferPayments;
- this.kakaoPayPayments = kakaoPayPayments;
- this.klarnaPayments = klarnaPayments;
- this.konbiniPayments = konbiniPayments;
- this.krCardPayments = krCardPayments;
- this.linkPayments = linkPayments;
- this.mobilepayPayments = mobilepayPayments;
- this.multibancoPayments = multibancoPayments;
- this.mxBankTransferPayments = mxBankTransferPayments;
- this.naverPayPayments = naverPayPayments;
- this.oxxoPayments = oxxoPayments;
- this.p24Payments = p24Payments;
- this.payByBankPayments = payByBankPayments;
- this.paycoPayments = paycoPayments;
- this.paynowPayments = paynowPayments;
- this.promptpayPayments = promptpayPayments;
- this.revolutPayPayments = revolutPayPayments;
- this.samsungPayPayments = samsungPayPayments;
- this.sepaBankTransferPayments = sepaBankTransferPayments;
- this.sepaDebitPayments = sepaDebitPayments;
- this.swishPayments = swishPayments;
- this.twintPayments = twintPayments;
- this.usBankTransferPayments = usBankTransferPayments;
- this.zipPayments = zipPayments;
}
public static Builder builder() {
@@ -2278,89 +2275,1158 @@ public static Builder builder() {
}
public static class Builder {
- private AchDebitPayments achDebitPayments;
-
- private AcssDebitPayments acssDebitPayments;
-
- private AffirmPayments affirmPayments;
-
- private AfterpayClearpayPayments afterpayClearpayPayments;
-
- private AlmaPayments almaPayments;
-
- private AmazonPayPayments amazonPayPayments;
+ private AutomaticIndirectTax automaticIndirectTax;
- private AuBecsDebitPayments auBecsDebitPayments;
+ private Map extraParams;
- private BacsDebitPayments bacsDebitPayments;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Capabilities build() {
+ return new AccountCreateParams.Configuration.Customer.Capabilities(
+ this.automaticIndirectTax, this.extraParams);
+ }
- private BancontactPayments bancontactPayments;
+ /**
+ * Generates requirements for enabling automatic indirect tax calculation on this
+ * customer's invoices or subscriptions. Recommended to request this capability if
+ * planning to enable automatic tax calculation on this customer's invoices or
+ * subscriptions. Uses the {@code location_source} field.
+ */
+ public Builder setAutomaticIndirectTax(
+ AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax
+ automaticIndirectTax) {
+ this.automaticIndirectTax = automaticIndirectTax;
+ return this;
+ }
- private BlikPayments blikPayments;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- private BoletoPayments boletoPayments;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
- private CardPayments cardPayments;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class AutomaticIndirectTax {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- private CartesBancairesPayments cartesBancairesPayments;
+ /**
+ * Required. To request a new Capability for an account, pass true. There
+ * can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
- private CashappPayments cashappPayments;
+ private AutomaticIndirectTax(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
- private EpsPayments epsPayments;
+ public static Builder builder() {
+ return new Builder();
+ }
- private Map extraParams;
+ public static class Builder {
+ private Map extraParams;
- private FpxPayments fpxPayments;
+ private Boolean requested;
- private GbBankTransferPayments gbBankTransferPayments;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax
+ build() {
+ return new AccountCreateParams.Configuration.Customer.Capabilities
+ .AutomaticIndirectTax(this.extraParams, this.requested);
+ }
- private GrabpayPayments grabpayPayments;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- private IdealPayments idealPayments;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- private JcbPayments jcbPayments;
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
+ }
+ }
+ }
- private JpBankTransferPayments jpBankTransferPayments;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Shipping {
+ /** Customer shipping address. */
+ @SerializedName("address")
+ Address address;
- private KakaoPayPayments kakaoPayPayments;
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- private KlarnaPayments klarnaPayments;
+ /** Customer name. */
+ @SerializedName("name")
+ String name;
- private KonbiniPayments konbiniPayments;
+ /** Customer phone (including extension). */
+ @SerializedName("phone")
+ String phone;
- private KrCardPayments krCardPayments;
+ private Shipping(
+ Address address, Map extraParams, String name, String phone) {
+ this.address = address;
+ this.extraParams = extraParams;
+ this.name = name;
+ this.phone = phone;
+ }
- private LinkPayments linkPayments;
+ public static Builder builder() {
+ return new Builder();
+ }
- private MobilepayPayments mobilepayPayments;
+ public static class Builder {
+ private Address address;
- private MultibancoPayments multibancoPayments;
+ private Map extraParams;
- private MxBankTransferPayments mxBankTransferPayments;
+ private String name;
- private NaverPayPayments naverPayPayments;
+ private String phone;
- private OxxoPayments oxxoPayments;
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Shipping build() {
+ return new AccountCreateParams.Configuration.Customer.Shipping(
+ this.address, this.extraParams, this.name, this.phone);
+ }
- private P24Payments p24Payments;
+ /** Customer shipping address. */
+ public Builder setAddress(
+ AccountCreateParams.Configuration.Customer.Shipping.Address address) {
+ this.address = address;
+ return this;
+ }
- private PayByBankPayments payByBankPayments;
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
- private PaycoPayments paycoPayments;
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
- private PaynowPayments paynowPayments;
+ /** Customer name. */
+ public Builder setName(String name) {
+ this.name = name;
+ return this;
+ }
- private PromptpayPayments promptpayPayments;
+ /** Customer phone (including extension). */
+ public Builder setPhone(String phone) {
+ this.phone = phone;
+ return this;
+ }
+ }
- private RevolutPayPayments revolutPayPayments;
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Address {
+ /** City, district, suburb, town, or village. */
+ @SerializedName("city")
+ String city;
- private SamsungPayPayments samsungPayPayments;
+ /**
+ * Two-letter country code (ISO
+ * 3166-1 alpha-2).
+ */
+ @SerializedName("country")
+ String country;
- private SepaBankTransferPayments sepaBankTransferPayments;
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
- private SepaDebitPayments sepaDebitPayments;
+ /** Address line 1 (e.g., street, PO Box, or company name). */
+ @SerializedName("line1")
+ String line1;
- private SwishPayments swishPayments;
+ /** Address line 2 (e.g., apartment, suite, unit, or building). */
+ @SerializedName("line2")
+ String line2;
+
+ /** ZIP or postal code. */
+ @SerializedName("postal_code")
+ String postalCode;
+
+ /** State, county, province, or region. */
+ @SerializedName("state")
+ String state;
+
+ private Address(
+ String city,
+ String country,
+ Map extraParams,
+ String line1,
+ String line2,
+ String postalCode,
+ String state) {
+ this.city = city;
+ this.country = country;
+ this.extraParams = extraParams;
+ this.line1 = line1;
+ this.line2 = line2;
+ this.postalCode = postalCode;
+ this.state = state;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String city;
+
+ private String country;
+
+ private Map extraParams;
+
+ private String line1;
+
+ private String line2;
+
+ private String postalCode;
+
+ private String state;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Customer.Shipping.Address build() {
+ return new AccountCreateParams.Configuration.Customer.Shipping.Address(
+ this.city,
+ this.country,
+ this.extraParams,
+ this.line1,
+ this.line2,
+ this.postalCode,
+ this.state);
+ }
+
+ /** City, district, suburb, town, or village. */
+ public Builder setCity(String city) {
+ this.city = city;
+ return this;
+ }
+
+ /**
+ * Two-letter country code (ISO 3166-1 alpha-2).
+ */
+ public Builder setCountry(String country) {
+ this.country = country;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the
+ * field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the
+ * field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /** Address line 1 (e.g., street, PO Box, or company name). */
+ public Builder setLine1(String line1) {
+ this.line1 = line1;
+ return this;
+ }
+
+ /** Address line 2 (e.g., apartment, suite, unit, or building). */
+ public Builder setLine2(String line2) {
+ this.line2 = line2;
+ return this;
+ }
+
+ /** ZIP or postal code. */
+ public Builder setPostalCode(String postalCode) {
+ this.postalCode = postalCode;
+ return this;
+ }
+
+ /** State, county, province, or region. */
+ public Builder setState(String state) {
+ this.state = state;
+ return this;
+ }
+ }
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Merchant {
+ /** Settings used for Bacs debit payments. */
+ @SerializedName("bacs_debit_payments")
+ BacsDebitPayments bacsDebitPayments;
+
+ /**
+ * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and
+ * other products.
+ */
+ @SerializedName("branding")
+ Branding branding;
+
+ /** Capabilities to request on the Merchant Configuration. */
+ @SerializedName("capabilities")
+ Capabilities capabilities;
+
+ /** Card payments settings. */
+ @SerializedName("card_payments")
+ CardPayments cardPayments;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+ * name in this param object. Effectively, this map is flattened to its parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * The merchant category code for the Merchant Configuration. MCCs are used to classify
+ * businesses based on the goods or services they provide.
+ */
+ @SerializedName("mcc")
+ String mcc;
+
+ /** Statement descriptor. */
+ @SerializedName("statement_descriptor")
+ StatementDescriptor statementDescriptor;
+
+ /** Publicly available contact information for sending support issues to. */
+ @SerializedName("support")
+ Support support;
+
+ private Merchant(
+ BacsDebitPayments bacsDebitPayments,
+ Branding branding,
+ Capabilities capabilities,
+ CardPayments cardPayments,
+ Map extraParams,
+ String mcc,
+ StatementDescriptor statementDescriptor,
+ Support support) {
+ this.bacsDebitPayments = bacsDebitPayments;
+ this.branding = branding;
+ this.capabilities = capabilities;
+ this.cardPayments = cardPayments;
+ this.extraParams = extraParams;
+ this.mcc = mcc;
+ this.statementDescriptor = statementDescriptor;
+ this.support = support;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private BacsDebitPayments bacsDebitPayments;
+
+ private Branding branding;
+
+ private Capabilities capabilities;
+
+ private CardPayments cardPayments;
+
+ private Map extraParams;
+
+ private String mcc;
+
+ private StatementDescriptor statementDescriptor;
+
+ private Support support;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant build() {
+ return new AccountCreateParams.Configuration.Merchant(
+ this.bacsDebitPayments,
+ this.branding,
+ this.capabilities,
+ this.cardPayments,
+ this.extraParams,
+ this.mcc,
+ this.statementDescriptor,
+ this.support);
+ }
+
+ /** Settings used for Bacs debit payments. */
+ public Builder setBacsDebitPayments(
+ AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) {
+ this.bacsDebitPayments = bacsDebitPayments;
+ return this;
+ }
+
+ /**
+ * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and
+ * other products.
+ */
+ public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) {
+ this.branding = branding;
+ return this;
+ }
+
+ /** Capabilities to request on the Merchant Configuration. */
+ public Builder setCapabilities(
+ AccountCreateParams.Configuration.Merchant.Capabilities capabilities) {
+ this.capabilities = capabilities;
+ return this;
+ }
+
+ /** Card payments settings. */
+ public Builder setCardPayments(
+ AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) {
+ this.cardPayments = cardPayments;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * The merchant category code for the Merchant Configuration. MCCs are used to classify
+ * businesses based on the goods or services they provide.
+ */
+ public Builder setMcc(String mcc) {
+ this.mcc = mcc;
+ return this;
+ }
+
+ /** Statement descriptor. */
+ public Builder setStatementDescriptor(
+ AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) {
+ this.statementDescriptor = statementDescriptor;
+ return this;
+ }
+
+ /** Publicly available contact information for sending support issues to. */
+ public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) {
+ this.support = support;
+ return this;
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class BacsDebitPayments {
+ /** Display name for Bacs debit payments. */
+ @SerializedName("display_name")
+ String displayName;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ private BacsDebitPayments(String displayName, Map extraParams) {
+ this.displayName = displayName;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private String displayName;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() {
+ return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments(
+ this.displayName, this.extraParams);
+ }
+
+ /** Display name for Bacs debit payments. */
+ public Builder setDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field
+ * documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link
+ * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field
+ * documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Branding {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * ID of a file upload:
+ * An icon for the merchant. Must be square and at least 128px x 128px.
+ */
+ @SerializedName("icon")
+ String icon;
+
+ /**
+ * ID of a file upload:
+ * A logo for the merchant that will be used in Checkout instead of the icon and without the
+ * merchant's name next to it if provided. Must be at least 128px x 128px.
+ */
+ @SerializedName("logo")
+ String logo;
+
+ /** A CSS hex color value representing the primary branding color for the merchant. */
+ @SerializedName("primary_color")
+ String primaryColor;
+
+ /** A CSS hex color value representing the secondary branding color for the merchant. */
+ @SerializedName("secondary_color")
+ String secondaryColor;
+
+ private Branding(
+ Map extraParams,
+ String icon,
+ String logo,
+ String primaryColor,
+ String secondaryColor) {
+ this.extraParams = extraParams;
+ this.icon = icon;
+ this.logo = logo;
+ this.primaryColor = primaryColor;
+ this.secondaryColor = secondaryColor;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String icon;
+
+ private String logo;
+
+ private String primaryColor;
+
+ private String secondaryColor;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.Branding build() {
+ return new AccountCreateParams.Configuration.Merchant.Branding(
+ this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for
+ * the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+ * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for
+ * the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * ID of a file
+ * upload: An icon for the merchant. Must be square and at least 128px x 128px.
+ */
+ public Builder setIcon(String icon) {
+ this.icon = icon;
+ return this;
+ }
+
+ /**
+ * ID of a file
+ * upload: A logo for the merchant that will be used in Checkout instead of the icon
+ * and without the merchant's name next to it if provided. Must be at least 128px x 128px.
+ */
+ public Builder setLogo(String logo) {
+ this.logo = logo;
+ return this;
+ }
+
+ /** A CSS hex color value representing the primary branding color for the merchant. */
+ public Builder setPrimaryColor(String primaryColor) {
+ this.primaryColor = primaryColor;
+ return this;
+ }
+
+ /** A CSS hex color value representing the secondary branding color for the merchant. */
+ public Builder setSecondaryColor(String secondaryColor) {
+ this.secondaryColor = secondaryColor;
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Capabilities {
+ /** Allow the merchant to process ACH debit payments. */
+ @SerializedName("ach_debit_payments")
+ AchDebitPayments achDebitPayments;
+
+ /** Allow the merchant to process ACSS debit payments. */
+ @SerializedName("acss_debit_payments")
+ AcssDebitPayments acssDebitPayments;
+
+ /** Allow the merchant to process Affirm payments. */
+ @SerializedName("affirm_payments")
+ AffirmPayments affirmPayments;
+
+ /** Allow the merchant to process Afterpay/Clearpay payments. */
+ @SerializedName("afterpay_clearpay_payments")
+ AfterpayClearpayPayments afterpayClearpayPayments;
+
+ /** Allow the merchant to process Alma payments. */
+ @SerializedName("alma_payments")
+ AlmaPayments almaPayments;
+
+ /** Allow the merchant to process Amazon Pay payments. */
+ @SerializedName("amazon_pay_payments")
+ AmazonPayPayments amazonPayPayments;
+
+ /** Allow the merchant to process Australian BECS Direct Debit payments. */
+ @SerializedName("au_becs_debit_payments")
+ AuBecsDebitPayments auBecsDebitPayments;
+
+ /** Allow the merchant to process BACS Direct Debit payments. */
+ @SerializedName("bacs_debit_payments")
+ BacsDebitPayments bacsDebitPayments;
+
+ /** Allow the merchant to process Bancontact payments. */
+ @SerializedName("bancontact_payments")
+ BancontactPayments bancontactPayments;
+
+ /** Allow the merchant to process BLIK payments. */
+ @SerializedName("blik_payments")
+ BlikPayments blikPayments;
+
+ /** Allow the merchant to process Boleto payments. */
+ @SerializedName("boleto_payments")
+ BoletoPayments boletoPayments;
+
+ /** Allow the merchant to collect card payments. */
+ @SerializedName("card_payments")
+ CardPayments cardPayments;
+
+ /** Allow the merchant to process Cartes Bancaires payments. */
+ @SerializedName("cartes_bancaires_payments")
+ CartesBancairesPayments cartesBancairesPayments;
+
+ /** Allow the merchant to process Cash App payments. */
+ @SerializedName("cashapp_payments")
+ CashappPayments cashappPayments;
+
+ /** Allow the merchant to process EPS payments. */
+ @SerializedName("eps_payments")
+ EpsPayments epsPayments;
+
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its parent
+ * instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /** Allow the merchant to process FPX payments. */
+ @SerializedName("fpx_payments")
+ FpxPayments fpxPayments;
+
+ /** Allow the merchant to process UK bank transfer payments. */
+ @SerializedName("gb_bank_transfer_payments")
+ GbBankTransferPayments gbBankTransferPayments;
+
+ /** Allow the merchant to process GrabPay payments. */
+ @SerializedName("grabpay_payments")
+ GrabpayPayments grabpayPayments;
+
+ /** Allow the merchant to process iDEAL payments. */
+ @SerializedName("ideal_payments")
+ IdealPayments idealPayments;
+
+ /** Allow the merchant to process JCB card payments. */
+ @SerializedName("jcb_payments")
+ JcbPayments jcbPayments;
+
+ /** Allow the merchant to process Japanese bank transfer payments. */
+ @SerializedName("jp_bank_transfer_payments")
+ JpBankTransferPayments jpBankTransferPayments;
+
+ /** Allow the merchant to process Kakao Pay payments. */
+ @SerializedName("kakao_pay_payments")
+ KakaoPayPayments kakaoPayPayments;
+
+ /** Allow the merchant to process Klarna payments. */
+ @SerializedName("klarna_payments")
+ KlarnaPayments klarnaPayments;
+
+ /** Allow the merchant to process Konbini convenience store payments. */
+ @SerializedName("konbini_payments")
+ KonbiniPayments konbiniPayments;
+
+ /** Allow the merchant to process Korean card payments. */
+ @SerializedName("kr_card_payments")
+ KrCardPayments krCardPayments;
+
+ /** Allow the merchant to process Link payments. */
+ @SerializedName("link_payments")
+ LinkPayments linkPayments;
+
+ /** Allow the merchant to process MobilePay payments. */
+ @SerializedName("mobilepay_payments")
+ MobilepayPayments mobilepayPayments;
+
+ /** Allow the merchant to process Multibanco payments. */
+ @SerializedName("multibanco_payments")
+ MultibancoPayments multibancoPayments;
+
+ /** Allow the merchant to process Mexican bank transfer payments. */
+ @SerializedName("mx_bank_transfer_payments")
+ MxBankTransferPayments mxBankTransferPayments;
+
+ /** Allow the merchant to process Naver Pay payments. */
+ @SerializedName("naver_pay_payments")
+ NaverPayPayments naverPayPayments;
+
+ /** Allow the merchant to process OXXO payments. */
+ @SerializedName("oxxo_payments")
+ OxxoPayments oxxoPayments;
+
+ /** Allow the merchant to process Przelewy24 (P24) payments. */
+ @SerializedName("p24_payments")
+ P24Payments p24Payments;
+
+ /** Allow the merchant to process Pay by Bank payments. */
+ @SerializedName("pay_by_bank_payments")
+ PayByBankPayments payByBankPayments;
+
+ /** Allow the merchant to process PAYCO payments. */
+ @SerializedName("payco_payments")
+ PaycoPayments paycoPayments;
+
+ /** Allow the merchant to process PayNow payments. */
+ @SerializedName("paynow_payments")
+ PaynowPayments paynowPayments;
+
+ /** Allow the merchant to process PromptPay payments. */
+ @SerializedName("promptpay_payments")
+ PromptpayPayments promptpayPayments;
+
+ /** Allow the merchant to process Revolut Pay payments. */
+ @SerializedName("revolut_pay_payments")
+ RevolutPayPayments revolutPayPayments;
+
+ /** Allow the merchant to process Samsung Pay payments. */
+ @SerializedName("samsung_pay_payments")
+ SamsungPayPayments samsungPayPayments;
+
+ /** Allow the merchant to process SEPA bank transfer payments. */
+ @SerializedName("sepa_bank_transfer_payments")
+ SepaBankTransferPayments sepaBankTransferPayments;
+
+ /** Allow the merchant to process SEPA Direct Debit payments. */
+ @SerializedName("sepa_debit_payments")
+ SepaDebitPayments sepaDebitPayments;
+
+ /** Allow the merchant to process Swish payments. */
+ @SerializedName("swish_payments")
+ SwishPayments swishPayments;
+
+ /** Allow the merchant to process TWINT payments. */
+ @SerializedName("twint_payments")
+ TwintPayments twintPayments;
+
+ /** Allow the merchant to process US bank transfer payments. */
+ @SerializedName("us_bank_transfer_payments")
+ UsBankTransferPayments usBankTransferPayments;
+
+ /** Allow the merchant to process Zip payments. */
+ @SerializedName("zip_payments")
+ ZipPayments zipPayments;
+
+ private Capabilities(
+ AchDebitPayments achDebitPayments,
+ AcssDebitPayments acssDebitPayments,
+ AffirmPayments affirmPayments,
+ AfterpayClearpayPayments afterpayClearpayPayments,
+ AlmaPayments almaPayments,
+ AmazonPayPayments amazonPayPayments,
+ AuBecsDebitPayments auBecsDebitPayments,
+ BacsDebitPayments bacsDebitPayments,
+ BancontactPayments bancontactPayments,
+ BlikPayments blikPayments,
+ BoletoPayments boletoPayments,
+ CardPayments cardPayments,
+ CartesBancairesPayments cartesBancairesPayments,
+ CashappPayments cashappPayments,
+ EpsPayments epsPayments,
+ Map extraParams,
+ FpxPayments fpxPayments,
+ GbBankTransferPayments gbBankTransferPayments,
+ GrabpayPayments grabpayPayments,
+ IdealPayments idealPayments,
+ JcbPayments jcbPayments,
+ JpBankTransferPayments jpBankTransferPayments,
+ KakaoPayPayments kakaoPayPayments,
+ KlarnaPayments klarnaPayments,
+ KonbiniPayments konbiniPayments,
+ KrCardPayments krCardPayments,
+ LinkPayments linkPayments,
+ MobilepayPayments mobilepayPayments,
+ MultibancoPayments multibancoPayments,
+ MxBankTransferPayments mxBankTransferPayments,
+ NaverPayPayments naverPayPayments,
+ OxxoPayments oxxoPayments,
+ P24Payments p24Payments,
+ PayByBankPayments payByBankPayments,
+ PaycoPayments paycoPayments,
+ PaynowPayments paynowPayments,
+ PromptpayPayments promptpayPayments,
+ RevolutPayPayments revolutPayPayments,
+ SamsungPayPayments samsungPayPayments,
+ SepaBankTransferPayments sepaBankTransferPayments,
+ SepaDebitPayments sepaDebitPayments,
+ SwishPayments swishPayments,
+ TwintPayments twintPayments,
+ UsBankTransferPayments usBankTransferPayments,
+ ZipPayments zipPayments) {
+ this.achDebitPayments = achDebitPayments;
+ this.acssDebitPayments = acssDebitPayments;
+ this.affirmPayments = affirmPayments;
+ this.afterpayClearpayPayments = afterpayClearpayPayments;
+ this.almaPayments = almaPayments;
+ this.amazonPayPayments = amazonPayPayments;
+ this.auBecsDebitPayments = auBecsDebitPayments;
+ this.bacsDebitPayments = bacsDebitPayments;
+ this.bancontactPayments = bancontactPayments;
+ this.blikPayments = blikPayments;
+ this.boletoPayments = boletoPayments;
+ this.cardPayments = cardPayments;
+ this.cartesBancairesPayments = cartesBancairesPayments;
+ this.cashappPayments = cashappPayments;
+ this.epsPayments = epsPayments;
+ this.extraParams = extraParams;
+ this.fpxPayments = fpxPayments;
+ this.gbBankTransferPayments = gbBankTransferPayments;
+ this.grabpayPayments = grabpayPayments;
+ this.idealPayments = idealPayments;
+ this.jcbPayments = jcbPayments;
+ this.jpBankTransferPayments = jpBankTransferPayments;
+ this.kakaoPayPayments = kakaoPayPayments;
+ this.klarnaPayments = klarnaPayments;
+ this.konbiniPayments = konbiniPayments;
+ this.krCardPayments = krCardPayments;
+ this.linkPayments = linkPayments;
+ this.mobilepayPayments = mobilepayPayments;
+ this.multibancoPayments = multibancoPayments;
+ this.mxBankTransferPayments = mxBankTransferPayments;
+ this.naverPayPayments = naverPayPayments;
+ this.oxxoPayments = oxxoPayments;
+ this.p24Payments = p24Payments;
+ this.payByBankPayments = payByBankPayments;
+ this.paycoPayments = paycoPayments;
+ this.paynowPayments = paynowPayments;
+ this.promptpayPayments = promptpayPayments;
+ this.revolutPayPayments = revolutPayPayments;
+ this.samsungPayPayments = samsungPayPayments;
+ this.sepaBankTransferPayments = sepaBankTransferPayments;
+ this.sepaDebitPayments = sepaDebitPayments;
+ this.swishPayments = swishPayments;
+ this.twintPayments = twintPayments;
+ this.usBankTransferPayments = usBankTransferPayments;
+ this.zipPayments = zipPayments;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private AchDebitPayments achDebitPayments;
+
+ private AcssDebitPayments acssDebitPayments;
+
+ private AffirmPayments affirmPayments;
+
+ private AfterpayClearpayPayments afterpayClearpayPayments;
+
+ private AlmaPayments almaPayments;
+
+ private AmazonPayPayments amazonPayPayments;
+
+ private AuBecsDebitPayments auBecsDebitPayments;
+
+ private BacsDebitPayments bacsDebitPayments;
+
+ private BancontactPayments bancontactPayments;
+
+ private BlikPayments blikPayments;
+
+ private BoletoPayments boletoPayments;
+
+ private CardPayments cardPayments;
+
+ private CartesBancairesPayments cartesBancairesPayments;
+
+ private CashappPayments cashappPayments;
+
+ private EpsPayments epsPayments;
+
+ private Map extraParams;
+
+ private FpxPayments fpxPayments;
+
+ private GbBankTransferPayments gbBankTransferPayments;
+
+ private GrabpayPayments grabpayPayments;
+
+ private IdealPayments idealPayments;
+
+ private JcbPayments jcbPayments;
+
+ private JpBankTransferPayments jpBankTransferPayments;
+
+ private KakaoPayPayments kakaoPayPayments;
+
+ private KlarnaPayments klarnaPayments;
+
+ private KonbiniPayments konbiniPayments;
+
+ private KrCardPayments krCardPayments;
+
+ private LinkPayments linkPayments;
+
+ private MobilepayPayments mobilepayPayments;
+
+ private MultibancoPayments multibancoPayments;
+
+ private MxBankTransferPayments mxBankTransferPayments;
+
+ private NaverPayPayments naverPayPayments;
+
+ private OxxoPayments oxxoPayments;
+
+ private P24Payments p24Payments;
+
+ private PayByBankPayments payByBankPayments;
+
+ private PaycoPayments paycoPayments;
+
+ private PaynowPayments paynowPayments;
+
+ private PromptpayPayments promptpayPayments;
+
+ private RevolutPayPayments revolutPayPayments;
+
+ private SamsungPayPayments samsungPayPayments;
+
+ private SepaBankTransferPayments sepaBankTransferPayments;
+
+ private SepaDebitPayments sepaDebitPayments;
+
+ private SwishPayments swishPayments;
private TwintPayments twintPayments;
@@ -6090,7 +7156,170 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments bui
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the
* original map. See {@link
- * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams}
+ * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * Required. To request a new Capability for an account, pass true.
+ * There can be a delay before the requested Capability becomes active.
+ */
+ public Builder setRequested(Boolean requested) {
+ this.requested = requested;
+ return this;
+ }
+ }
+ }
+
+ @Getter
+ @EqualsAndHashCode(callSuper = false)
+ public static class TwintPayments {
+ /**
+ * Map of extra parameters for custom features not available in this client library. The
+ * content in this map is not serialized under this field's {@code @SerializedName} value.
+ * Instead, each key/value pair is serialized as if the key is a root-level field
+ * (serialized) name in this param object. Effectively, this map is flattened to its
+ * parent instance.
+ */
+ @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+ Map extraParams;
+
+ /**
+ * Required. To request a new Capability for an account, pass true. There
+ * can be a delay before the requested Capability becomes active.
+ */
+ @SerializedName("requested")
+ Boolean requested;
+
+ private TwintPayments(Map extraParams, Boolean requested) {
+ this.extraParams = extraParams;
+ this.requested = requested;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Boolean requested;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments build() {
+ return new AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments(
+ this.extraParams, this.requested);
+ }
+
+ /**
+ * Add a key/value pair to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams}
+ * for the field documentation.
+ */
+ public Builder putExtraParam(String key, Object value) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.put(key, value);
+ return this;
+ }
+
+ /**
+ * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+ * `put/putAll` call, and subsequent calls add additional key/value pairs to the
+ * original map. See {@link
+ * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams}
+ * for the field documentation.
+ */
+ public Builder putAllExtraParam(Map