map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+ }
+ }
+
@Getter
public static class Payco {
/**
diff --git a/src/main/java/com/stripe/param/PaymentLinkCreateParams.java b/src/main/java/com/stripe/param/PaymentLinkCreateParams.java
index bef1296d4fc..62c70d18ac7 100644
--- a/src/main/java/com/stripe/param/PaymentLinkCreateParams.java
+++ b/src/main/java/com/stripe/param/PaymentLinkCreateParams.java
@@ -4671,6 +4671,9 @@ public enum AllowedCountry implements ApiRequestParams.EnumParam {
@SerializedName("SC")
SC("SC"),
+ @SerializedName("SD")
+ SD("SD"),
+
@SerializedName("SE")
SE("SE"),
@@ -5754,6 +5757,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("paynow")
PAYNOW("paynow"),
diff --git a/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java b/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java
index afdf79c15c1..9c5dcf09111 100644
--- a/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java
+++ b/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java
@@ -123,6 +123,14 @@ public class PaymentLinkUpdateParams extends ApiRequestParams {
@SerializedName("payment_method_types")
Object paymentMethodTypes;
+ /**
+ * Controls phone number collection settings during checkout.
+ *
+ * We recommend that you review your privacy policy and check with your legal contacts.
+ */
+ @SerializedName("phone_number_collection")
+ PhoneNumberCollection phoneNumberCollection;
+
/** Settings that restrict the usage of a payment link. */
@SerializedName("restrictions")
Object restrictions;
@@ -169,6 +177,7 @@ private PaymentLinkUpdateParams(
PaymentIntentData paymentIntentData,
PaymentMethodCollection paymentMethodCollection,
Object paymentMethodTypes,
+ PhoneNumberCollection phoneNumberCollection,
Object restrictions,
Object shippingAddressCollection,
SubmitType submitType,
@@ -191,6 +200,7 @@ private PaymentLinkUpdateParams(
this.paymentIntentData = paymentIntentData;
this.paymentMethodCollection = paymentMethodCollection;
this.paymentMethodTypes = paymentMethodTypes;
+ this.phoneNumberCollection = phoneNumberCollection;
this.restrictions = restrictions;
this.shippingAddressCollection = shippingAddressCollection;
this.submitType = submitType;
@@ -237,6 +247,8 @@ public static class Builder {
private Object paymentMethodTypes;
+ private PhoneNumberCollection phoneNumberCollection;
+
private Object restrictions;
private Object shippingAddressCollection;
@@ -267,6 +279,7 @@ public PaymentLinkUpdateParams build() {
this.paymentIntentData,
this.paymentMethodCollection,
this.paymentMethodTypes,
+ this.phoneNumberCollection,
this.restrictions,
this.shippingAddressCollection,
this.submitType,
@@ -569,6 +582,17 @@ public Builder setPaymentMethodTypes(
return this;
}
+ /**
+ * Controls phone number collection settings during checkout.
+ *
+ *
We recommend that you review your privacy policy and check with your legal contacts.
+ */
+ public Builder setPhoneNumberCollection(
+ PaymentLinkUpdateParams.PhoneNumberCollection phoneNumberCollection) {
+ this.phoneNumberCollection = phoneNumberCollection;
+ return this;
+ }
+
/** Settings that restrict the usage of a payment link. */
public Builder setRestrictions(PaymentLinkUpdateParams.Restrictions restrictions) {
this.restrictions = restrictions;
@@ -3511,6 +3535,75 @@ public Builder setTransferGroup(EmptyParam transferGroup) {
}
}
+ @Getter
+ public static class PhoneNumberCollection {
+ /** Required. Set to {@code true} to enable phone number collection. */
+ @SerializedName("enabled")
+ Boolean enabled;
+
+ /**
+ * 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 PhoneNumberCollection(Boolean enabled, Map extraParams) {
+ this.enabled = enabled;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Boolean enabled;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentLinkUpdateParams.PhoneNumberCollection build() {
+ return new PaymentLinkUpdateParams.PhoneNumberCollection(this.enabled, this.extraParams);
+ }
+
+ /** Required. Set to {@code true} to enable phone number collection. */
+ public Builder setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ 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
+ * PaymentLinkUpdateParams.PhoneNumberCollection#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 PaymentLinkUpdateParams.PhoneNumberCollection#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
public static class Restrictions {
/**
@@ -4314,6 +4407,9 @@ public enum AllowedCountry implements ApiRequestParams.EnumParam {
@SerializedName("SC")
SC("SC"),
+ @SerializedName("SD")
+ SD("SD"),
+
@SerializedName("SE")
SE("SE"),
@@ -5261,6 +5357,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("paynow")
PAYNOW("paynow"),
diff --git a/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java
index 6f4ee1a3d7b..0c637367c02 100644
--- a/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java
+++ b/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java
@@ -309,6 +309,15 @@ public class PaymentMethodConfigurationCreateParams extends ApiRequestParams {
@SerializedName("parent")
String parent;
+ /**
+ * Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected to
+ * their bank to authorize a bank transfer for a given amount. This removes a lot of the error
+ * risks inherent in waiting for the customer to initiate a transfer themselves, and is less
+ * expensive than card payments.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* PayNow is a Singapore-based payment method that allows customers to make a payment using their
* preferred app from participating banks and participating non-bank financial institutions. Check
@@ -440,6 +449,7 @@ private PaymentMethodConfigurationCreateParams(
Oxxo oxxo,
P24 p24,
String parent,
+ PayByBank payByBank,
Paynow paynow,
Paypal paypal,
Promptpay promptpay,
@@ -486,6 +496,7 @@ private PaymentMethodConfigurationCreateParams(
this.oxxo = oxxo;
this.p24 = p24;
this.parent = parent;
+ this.payByBank = payByBank;
this.paynow = paynow;
this.paypal = paypal;
this.promptpay = promptpay;
@@ -574,6 +585,8 @@ public static class Builder {
private String parent;
+ private PayByBank payByBank;
+
private Paynow paynow;
private Paypal paypal;
@@ -634,6 +647,7 @@ public PaymentMethodConfigurationCreateParams build() {
this.oxxo,
this.p24,
this.parent,
+ this.payByBank,
this.paynow,
this.paypal,
this.promptpay,
@@ -1055,6 +1069,17 @@ public Builder setParent(String parent) {
return this;
}
+ /**
+ * Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected
+ * to their bank to authorize a bank transfer for a given amount. This removes a lot of the
+ * error risks inherent in waiting for the customer to initiate a transfer themselves, and is
+ * less expensive than card payments.
+ */
+ public Builder setPayByBank(PaymentMethodConfigurationCreateParams.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* PayNow is a Singapore-based payment method that allows customers to make a payment using
* their preferred app from participating banks and participating non-bank financial
@@ -6248,6 +6273,170 @@ public enum Preference implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /** Whether or not the payment method should be displayed. */
+ @SerializedName("display_preference")
+ DisplayPreference displayPreference;
+
+ /**
+ * 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 PayByBank(DisplayPreference displayPreference, Map extraParams) {
+ this.displayPreference = displayPreference;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private DisplayPreference displayPreference;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodConfigurationCreateParams.PayByBank build() {
+ return new PaymentMethodConfigurationCreateParams.PayByBank(
+ this.displayPreference, this.extraParams);
+ }
+
+ /** Whether or not the payment method should be displayed. */
+ public Builder setDisplayPreference(
+ PaymentMethodConfigurationCreateParams.PayByBank.DisplayPreference displayPreference) {
+ this.displayPreference = displayPreference;
+ 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
+ * PaymentMethodConfigurationCreateParams.PayByBank#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 PaymentMethodConfigurationCreateParams.PayByBank#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
+ public static class DisplayPreference {
+ /**
+ * 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 account's preference for whether or not to display this payment method. */
+ @SerializedName("preference")
+ Preference preference;
+
+ private DisplayPreference(Map extraParams, Preference preference) {
+ this.extraParams = extraParams;
+ this.preference = preference;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Preference preference;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodConfigurationCreateParams.PayByBank.DisplayPreference build() {
+ return new PaymentMethodConfigurationCreateParams.PayByBank.DisplayPreference(
+ this.extraParams, this.preference);
+ }
+
+ /**
+ * 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
+ * PaymentMethodConfigurationCreateParams.PayByBank.DisplayPreference#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
+ * PaymentMethodConfigurationCreateParams.PayByBank.DisplayPreference#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 account's preference for whether or not to display this payment method. */
+ public Builder setPreference(
+ PaymentMethodConfigurationCreateParams.PayByBank.DisplayPreference.Preference
+ preference) {
+ this.preference = preference;
+ return this;
+ }
+ }
+
+ public enum Preference implements ApiRequestParams.EnumParam {
+ @SerializedName("none")
+ NONE("none"),
+
+ @SerializedName("off")
+ OFF("off"),
+
+ @SerializedName("on")
+ ON("on");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ Preference(String value) {
+ this.value = value;
+ }
+ }
+ }
+ }
+
@Getter
public static class Paynow {
/** Whether or not the payment method should be displayed. */
diff --git a/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java b/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java
index e023e3875fa..8b6204b6f4c 100644
--- a/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java
+++ b/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java
@@ -310,6 +310,15 @@ public class PaymentMethodConfigurationUpdateParams extends ApiRequestParams {
@SerializedName("p24")
P24 p24;
+ /**
+ * Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected to
+ * their bank to authorize a bank transfer for a given amount. This removes a lot of the error
+ * risks inherent in waiting for the customer to initiate a transfer themselves, and is less
+ * expensive than card payments.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* PayNow is a Singapore-based payment method that allows customers to make a payment using their
* preferred app from participating banks and participating non-bank financial institutions. Check
@@ -441,6 +450,7 @@ private PaymentMethodConfigurationUpdateParams(
Object name,
Oxxo oxxo,
P24 p24,
+ PayByBank payByBank,
Paynow paynow,
Paypal paypal,
Promptpay promptpay,
@@ -487,6 +497,7 @@ private PaymentMethodConfigurationUpdateParams(
this.name = name;
this.oxxo = oxxo;
this.p24 = p24;
+ this.payByBank = payByBank;
this.paynow = paynow;
this.paypal = paypal;
this.promptpay = promptpay;
@@ -575,6 +586,8 @@ public static class Builder {
private P24 p24;
+ private PayByBank payByBank;
+
private Paynow paynow;
private Paypal paypal;
@@ -635,6 +648,7 @@ public PaymentMethodConfigurationUpdateParams build() {
this.name,
this.oxxo,
this.p24,
+ this.payByBank,
this.paynow,
this.paypal,
this.promptpay,
@@ -1062,6 +1076,17 @@ public Builder setP24(PaymentMethodConfigurationUpdateParams.P24 p24) {
return this;
}
+ /**
+ * Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected
+ * to their bank to authorize a bank transfer for a given amount. This removes a lot of the
+ * error risks inherent in waiting for the customer to initiate a transfer themselves, and is
+ * less expensive than card payments.
+ */
+ public Builder setPayByBank(PaymentMethodConfigurationUpdateParams.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* PayNow is a Singapore-based payment method that allows customers to make a payment using
* their preferred app from participating banks and participating non-bank financial
@@ -6255,6 +6280,170 @@ public enum Preference implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /** Whether or not the payment method should be displayed. */
+ @SerializedName("display_preference")
+ DisplayPreference displayPreference;
+
+ /**
+ * 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 PayByBank(DisplayPreference displayPreference, Map extraParams) {
+ this.displayPreference = displayPreference;
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private DisplayPreference displayPreference;
+
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodConfigurationUpdateParams.PayByBank build() {
+ return new PaymentMethodConfigurationUpdateParams.PayByBank(
+ this.displayPreference, this.extraParams);
+ }
+
+ /** Whether or not the payment method should be displayed. */
+ public Builder setDisplayPreference(
+ PaymentMethodConfigurationUpdateParams.PayByBank.DisplayPreference displayPreference) {
+ this.displayPreference = displayPreference;
+ 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
+ * PaymentMethodConfigurationUpdateParams.PayByBank#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 PaymentMethodConfigurationUpdateParams.PayByBank#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
+ public static class DisplayPreference {
+ /**
+ * 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 account's preference for whether or not to display this payment method. */
+ @SerializedName("preference")
+ Preference preference;
+
+ private DisplayPreference(Map extraParams, Preference preference) {
+ this.extraParams = extraParams;
+ this.preference = preference;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Preference preference;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodConfigurationUpdateParams.PayByBank.DisplayPreference build() {
+ return new PaymentMethodConfigurationUpdateParams.PayByBank.DisplayPreference(
+ this.extraParams, this.preference);
+ }
+
+ /**
+ * 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
+ * PaymentMethodConfigurationUpdateParams.PayByBank.DisplayPreference#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
+ * PaymentMethodConfigurationUpdateParams.PayByBank.DisplayPreference#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 account's preference for whether or not to display this payment method. */
+ public Builder setPreference(
+ PaymentMethodConfigurationUpdateParams.PayByBank.DisplayPreference.Preference
+ preference) {
+ this.preference = preference;
+ return this;
+ }
+ }
+
+ public enum Preference implements ApiRequestParams.EnumParam {
+ @SerializedName("none")
+ NONE("none"),
+
+ @SerializedName("off")
+ OFF("off"),
+
+ @SerializedName("on")
+ ON("on");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ Preference(String value) {
+ this.value = value;
+ }
+ }
+ }
+ }
+
@Getter
public static class Paynow {
/** Whether or not the payment method should be displayed. */
diff --git a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java
index 38e4a4a4eb9..08d01973b1d 100644
--- a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java
+++ b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java
@@ -265,6 +265,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams {
@SerializedName("p24")
P24 p24;
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the PayByBank
+ * payment method.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment
* method.
@@ -417,6 +424,7 @@ private PaymentMethodCreateParams(
NaverPay naverPay,
Oxxo oxxo,
P24 p24,
+ PayByBank payByBank,
Payco payco,
String paymentMethod,
Paynow paynow,
@@ -470,6 +478,7 @@ private PaymentMethodCreateParams(
this.naverPay = naverPay;
this.oxxo = oxxo;
this.p24 = p24;
+ this.payByBank = payByBank;
this.payco = payco;
this.paymentMethod = paymentMethod;
this.paynow = paynow;
@@ -566,6 +575,8 @@ public static class Builder {
private P24 p24;
+ private PayByBank payByBank;
+
private Payco payco;
private String paymentMethod;
@@ -639,6 +650,7 @@ public PaymentMethodCreateParams build() {
this.naverPay,
this.oxxo,
this.p24,
+ this.payByBank,
this.payco,
this.paymentMethod,
this.paynow,
@@ -1049,6 +1061,15 @@ public Builder setP24(PaymentMethodCreateParams.P24 p24) {
return this;
}
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ public Builder setPayByBank(PaymentMethodCreateParams.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment
* method.
@@ -3973,6 +3994,61 @@ public enum Bank implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /**
+ * 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 PayByBank(Map extraParams) {
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodCreateParams.PayByBank build() {
+ return new PaymentMethodCreateParams.PayByBank(this.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
+ * PaymentMethodCreateParams.PayByBank#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 PaymentMethodCreateParams.PayByBank#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
public static class Payco {
/**
@@ -5170,6 +5246,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("payco")
PAYCO("payco"),
diff --git a/src/main/java/com/stripe/param/PaymentMethodListParams.java b/src/main/java/com/stripe/param/PaymentMethodListParams.java
index a9d9225e035..1c217be6801 100644
--- a/src/main/java/com/stripe/param/PaymentMethodListParams.java
+++ b/src/main/java/com/stripe/param/PaymentMethodListParams.java
@@ -298,6 +298,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("payco")
PAYCO("payco"),
diff --git a/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java b/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java
index 1045f38ae99..c55599e8d48 100644
--- a/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java
+++ b/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java
@@ -68,6 +68,13 @@ public class PaymentMethodUpdateParams extends ApiRequestParams {
@SerializedName("naver_pay")
NaverPay naverPay;
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the PayByBank
+ * payment method.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* If this is an {@code us_bank_account} PaymentMethod, this hash contains details about the US
* bank account payment method.
@@ -84,6 +91,7 @@ private PaymentMethodUpdateParams(
Link link,
Object metadata,
NaverPay naverPay,
+ PayByBank payByBank,
UsBankAccount usBankAccount) {
this.allowRedisplay = allowRedisplay;
this.billingDetails = billingDetails;
@@ -93,6 +101,7 @@ private PaymentMethodUpdateParams(
this.link = link;
this.metadata = metadata;
this.naverPay = naverPay;
+ this.payByBank = payByBank;
this.usBankAccount = usBankAccount;
}
@@ -117,6 +126,8 @@ public static class Builder {
private NaverPay naverPay;
+ private PayByBank payByBank;
+
private UsBankAccount usBankAccount;
/** Finalize and obtain parameter instance from this builder. */
@@ -130,6 +141,7 @@ public PaymentMethodUpdateParams build() {
this.link,
this.metadata,
this.naverPay,
+ this.payByBank,
this.usBankAccount);
}
@@ -279,6 +291,15 @@ public Builder setNaverPay(PaymentMethodUpdateParams.NaverPay naverPay) {
return this;
}
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ public Builder setPayByBank(PaymentMethodUpdateParams.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* If this is an {@code us_bank_account} PaymentMethod, this hash contains details about the US
* bank account payment method.
@@ -962,6 +983,61 @@ public enum Funding implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /**
+ * 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 PayByBank(Map extraParams) {
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public PaymentMethodUpdateParams.PayByBank build() {
+ return new PaymentMethodUpdateParams.PayByBank(this.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
+ * PaymentMethodUpdateParams.PayByBank#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 PaymentMethodUpdateParams.PayByBank#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
public static class UsBankAccount {
/** Bank account holder type. */
diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
index 22c575d76df..87e7357e1d2 100644
--- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
@@ -857,6 +857,13 @@ public static class PaymentMethodData {
@SerializedName("p24")
P24 p24;
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment
* method.
@@ -1003,6 +1010,7 @@ private PaymentMethodData(
NaverPay naverPay,
Oxxo oxxo,
P24 p24,
+ PayByBank payByBank,
Payco payco,
Paynow paynow,
Paypal paypal,
@@ -1052,6 +1060,7 @@ private PaymentMethodData(
this.naverPay = naverPay;
this.oxxo = oxxo;
this.p24 = p24;
+ this.payByBank = payByBank;
this.payco = payco;
this.paynow = paynow;
this.paypal = paypal;
@@ -1141,6 +1150,8 @@ public static class Builder {
private P24 p24;
+ private PayByBank payByBank;
+
private Payco payco;
private Paynow paynow;
@@ -1209,6 +1220,7 @@ public SetupIntentConfirmParams.PaymentMethodData build() {
this.naverPay,
this.oxxo,
this.p24,
+ this.payByBank,
this.payco,
this.paynow,
this.paypal,
@@ -1569,6 +1581,15 @@ public Builder setP24(SetupIntentConfirmParams.PaymentMethodData.P24 p24) {
return this;
}
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ public Builder setPayByBank(SetupIntentConfirmParams.PaymentMethodData.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO
* payment method.
@@ -4335,6 +4356,63 @@ public enum Bank implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /**
+ * 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 PayByBank(Map extraParams) {
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentConfirmParams.PaymentMethodData.PayByBank build() {
+ return new SetupIntentConfirmParams.PaymentMethodData.PayByBank(this.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 SetupIntentConfirmParams.PaymentMethodData.PayByBank#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.PaymentMethodData.PayByBank#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
public static class Payco {
/**
@@ -5487,6 +5565,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("payco")
PAYCO("payco"),
diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java
index 09c2547ad5f..e63e6d37972 100644
--- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java
@@ -1322,6 +1322,13 @@ public static class PaymentMethodData {
@SerializedName("p24")
P24 p24;
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment
* method.
@@ -1468,6 +1475,7 @@ private PaymentMethodData(
NaverPay naverPay,
Oxxo oxxo,
P24 p24,
+ PayByBank payByBank,
Payco payco,
Paynow paynow,
Paypal paypal,
@@ -1517,6 +1525,7 @@ private PaymentMethodData(
this.naverPay = naverPay;
this.oxxo = oxxo;
this.p24 = p24;
+ this.payByBank = payByBank;
this.payco = payco;
this.paynow = paynow;
this.paypal = paypal;
@@ -1606,6 +1615,8 @@ public static class Builder {
private P24 p24;
+ private PayByBank payByBank;
+
private Payco payco;
private Paynow paynow;
@@ -1674,6 +1685,7 @@ public SetupIntentCreateParams.PaymentMethodData build() {
this.naverPay,
this.oxxo,
this.p24,
+ this.payByBank,
this.payco,
this.paynow,
this.paypal,
@@ -2033,6 +2045,15 @@ public Builder setP24(SetupIntentCreateParams.PaymentMethodData.P24 p24) {
return this;
}
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ public Builder setPayByBank(SetupIntentCreateParams.PaymentMethodData.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO
* payment method.
@@ -4798,6 +4819,63 @@ public enum Bank implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /**
+ * 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 PayByBank(Map extraParams) {
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentCreateParams.PaymentMethodData.PayByBank build() {
+ return new SetupIntentCreateParams.PaymentMethodData.PayByBank(this.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 SetupIntentCreateParams.PaymentMethodData.PayByBank#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.PaymentMethodData.PayByBank#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
public static class Payco {
/**
@@ -5950,6 +6028,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("payco")
PAYCO("payco"),
diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
index e233c2d66a6..6ee334f2294 100644
--- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
@@ -672,6 +672,13 @@ public static class PaymentMethodData {
@SerializedName("p24")
P24 p24;
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO payment
* method.
@@ -818,6 +825,7 @@ private PaymentMethodData(
NaverPay naverPay,
Oxxo oxxo,
P24 p24,
+ PayByBank payByBank,
Payco payco,
Paynow paynow,
Paypal paypal,
@@ -867,6 +875,7 @@ private PaymentMethodData(
this.naverPay = naverPay;
this.oxxo = oxxo;
this.p24 = p24;
+ this.payByBank = payByBank;
this.payco = payco;
this.paynow = paynow;
this.paypal = paypal;
@@ -956,6 +965,8 @@ public static class Builder {
private P24 p24;
+ private PayByBank payByBank;
+
private Payco payco;
private Paynow paynow;
@@ -1024,6 +1035,7 @@ public SetupIntentUpdateParams.PaymentMethodData build() {
this.naverPay,
this.oxxo,
this.p24,
+ this.payByBank,
this.payco,
this.paynow,
this.paypal,
@@ -1383,6 +1395,15 @@ public Builder setP24(SetupIntentUpdateParams.PaymentMethodData.P24 p24) {
return this;
}
+ /**
+ * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the
+ * PayByBank payment method.
+ */
+ public Builder setPayByBank(SetupIntentUpdateParams.PaymentMethodData.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/**
* If this is a {@code payco} PaymentMethod, this hash contains details about the PAYCO
* payment method.
@@ -4238,6 +4259,63 @@ public enum Bank implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /**
+ * 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 PayByBank(Map extraParams) {
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SetupIntentUpdateParams.PaymentMethodData.PayByBank build() {
+ return new SetupIntentUpdateParams.PaymentMethodData.PayByBank(this.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 SetupIntentUpdateParams.PaymentMethodData.PayByBank#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.PaymentMethodData.PayByBank#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
public static class Payco {
/**
@@ -5424,6 +5502,9 @@ public enum Type implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("payco")
PAYCO("payco"),
diff --git a/src/main/java/com/stripe/param/TokenCreateParams.java b/src/main/java/com/stripe/param/TokenCreateParams.java
index a7ca783a21a..b87796f5750 100644
--- a/src/main/java/com/stripe/param/TokenCreateParams.java
+++ b/src/main/java/com/stripe/param/TokenCreateParams.java
@@ -388,6 +388,13 @@ public static class Company {
@SerializedName("directors_provided")
Boolean directorsProvided;
+ /**
+ * This hash is used to attest that the directors information provided to Stripe is both
+ * current and correct.
+ */
+ @SerializedName("directorship_declaration")
+ DirectorshipDeclaration directorshipDeclaration;
+
/**
* Whether the company's executives have been provided. Set this Boolean to {@code true} after
* creating all the company's executives with the
@@ -450,6 +457,9 @@ public static class Company {
@SerializedName("ownership_declaration_shown_and_signed")
Boolean ownershipDeclarationShownAndSigned;
+ @SerializedName("ownership_exemption_reason")
+ ApiRequestParams.EnumParam ownershipExemptionReason;
+
/** The company's phone number (used for verification). */
@SerializedName("phone")
String phone;
@@ -498,6 +508,7 @@ private Company(
AddressKana addressKana,
AddressKanji addressKanji,
Boolean directorsProvided,
+ DirectorshipDeclaration directorshipDeclaration,
Boolean executivesProvided,
String exportLicenseId,
String exportPurposeCode,
@@ -508,6 +519,7 @@ private Company(
Boolean ownersProvided,
OwnershipDeclaration ownershipDeclaration,
Boolean ownershipDeclarationShownAndSigned,
+ ApiRequestParams.EnumParam ownershipExemptionReason,
String phone,
String registrationNumber,
ApiRequestParams.EnumParam structure,
@@ -519,6 +531,7 @@ private Company(
this.addressKana = addressKana;
this.addressKanji = addressKanji;
this.directorsProvided = directorsProvided;
+ this.directorshipDeclaration = directorshipDeclaration;
this.executivesProvided = executivesProvided;
this.exportLicenseId = exportLicenseId;
this.exportPurposeCode = exportPurposeCode;
@@ -529,6 +542,7 @@ private Company(
this.ownersProvided = ownersProvided;
this.ownershipDeclaration = ownershipDeclaration;
this.ownershipDeclarationShownAndSigned = ownershipDeclarationShownAndSigned;
+ this.ownershipExemptionReason = ownershipExemptionReason;
this.phone = phone;
this.registrationNumber = registrationNumber;
this.structure = structure;
@@ -551,6 +565,8 @@ public static class Builder {
private Boolean directorsProvided;
+ private DirectorshipDeclaration directorshipDeclaration;
+
private Boolean executivesProvided;
private String exportLicenseId;
@@ -571,6 +587,8 @@ public static class Builder {
private Boolean ownershipDeclarationShownAndSigned;
+ private ApiRequestParams.EnumParam ownershipExemptionReason;
+
private String phone;
private String registrationNumber;
@@ -592,6 +610,7 @@ public TokenCreateParams.Account.Company build() {
this.addressKana,
this.addressKanji,
this.directorsProvided,
+ this.directorshipDeclaration,
this.executivesProvided,
this.exportLicenseId,
this.exportPurposeCode,
@@ -602,6 +621,7 @@ public TokenCreateParams.Account.Company build() {
this.ownersProvided,
this.ownershipDeclaration,
this.ownershipDeclarationShownAndSigned,
+ this.ownershipExemptionReason,
this.phone,
this.registrationNumber,
this.structure,
@@ -643,6 +663,16 @@ public Builder setDirectorsProvided(Boolean directorsProvided) {
return this;
}
+ /**
+ * This hash is used to attest that the directors information provided to Stripe is both
+ * current and correct.
+ */
+ public Builder setDirectorshipDeclaration(
+ TokenCreateParams.Account.Company.DirectorshipDeclaration directorshipDeclaration) {
+ this.directorshipDeclaration = directorshipDeclaration;
+ return this;
+ }
+
/**
* Whether the company's executives have been provided. Set this Boolean to {@code true}
* after creating all the company's executives with extraParams;
+
+ /** The IP address from which the directorship declaration attestation was made. */
+ @SerializedName("ip")
+ String ip;
+
+ /**
+ * The user agent of the browser from which the directorship declaration attestation was
+ * made.
+ */
+ @SerializedName("user_agent")
+ String userAgent;
+
+ private DirectorshipDeclaration(
+ Long date, Map extraParams, String ip, String userAgent) {
+ this.date = date;
+ this.extraParams = extraParams;
+ this.ip = ip;
+ this.userAgent = userAgent;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Long date;
+
+ private Map extraParams;
+
+ private String ip;
+
+ private String userAgent;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public TokenCreateParams.Account.Company.DirectorshipDeclaration build() {
+ return new TokenCreateParams.Account.Company.DirectorshipDeclaration(
+ this.date, this.extraParams, this.ip, this.userAgent);
+ }
+
+ /** The Unix timestamp marking when the directorship declaration attestation was made. */
+ public Builder setDate(Long date) {
+ this.date = date;
+ 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 TokenCreateParams.Account.Company.DirectorshipDeclaration#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 TokenCreateParams.Account.Company.DirectorshipDeclaration#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 IP address from which the directorship declaration attestation was made. */
+ public Builder setIp(String ip) {
+ this.ip = ip;
+ return this;
+ }
+
+ /**
+ * The user agent of the browser from which the directorship declaration attestation was
+ * made.
+ */
+ public Builder setUserAgent(String userAgent) {
+ this.userAgent = userAgent;
+ return this;
+ }
+ }
+ }
+
@Getter
public static class OwnershipDeclaration {
/** The Unix timestamp marking when the beneficial owner attestation was made. */
@@ -1596,6 +1742,22 @@ public Builder setFront(String front) {
}
}
+ public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam {
+ @SerializedName("qualified_entity_exceeds_ownership_threshold")
+ QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD(
+ "qualified_entity_exceeds_ownership_threshold"),
+
+ @SerializedName("qualifies_as_financial_institution")
+ QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ OwnershipExemptionReason(String value) {
+ this.value = value;
+ }
+ }
+
public enum Structure implements ApiRequestParams.EnumParam {
@SerializedName("free_zone_establishment")
FREE_ZONE_ESTABLISHMENT("free_zone_establishment"),
diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
index 0de2acbc37e..197e3f66946 100644
--- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
+++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
@@ -598,7 +598,10 @@ public enum ApiVersion implements ApiRequestParams.EnumParam {
VERSION_2024_11_20_ACACIA("2024-11-20.acacia"),
@SerializedName("2024-12-18.acacia")
- VERSION_2024_12_18_ACACIA("2024-12-18.acacia");
+ VERSION_2024_12_18_ACACIA("2024-12-18.acacia"),
+
+ @SerializedName("2025-01-27.acacia")
+ VERSION_2025_01_27_ACACIA("2025-01-27.acacia");
@Getter(onMethod_ = {@Override})
private final String value;
diff --git a/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java b/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java
index 4af57aa0ab1..64ec379f301 100644
--- a/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java
+++ b/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java
@@ -808,9 +808,9 @@ public static class SubscriptionCancel {
/**
* Whether to create prorations when canceling subscriptions. Possible values are {@code none}
- * and {@code create_prorations}, which is only compatible with {@code mode=immediately}. No
- * prorations are generated when canceling a subscription at the end of its natural billing
- * period.
+ * and {@code create_prorations}, which is only compatible with {@code mode=immediately}.
+ * Passing {@code always_invoice} will result in an error. No prorations are generated when
+ * canceling a subscription at the end of its natural billing period.
*/
@SerializedName("proration_behavior")
ProrationBehavior prorationBehavior;
@@ -907,8 +907,8 @@ public Builder setMode(ConfigurationCreateParams.Features.SubscriptionCancel.Mod
/**
* Whether to create prorations when canceling subscriptions. Possible values are {@code
* none} and {@code create_prorations}, which is only compatible with {@code
- * mode=immediately}. No prorations are generated when canceling a subscription at the end
- * of its natural billing period.
+ * mode=immediately}. Passing {@code always_invoice} will result in an error. No prorations
+ * are generated when canceling a subscription at the end of its natural billing period.
*/
public Builder setProrationBehavior(
ConfigurationCreateParams.Features.SubscriptionCancel.ProrationBehavior
diff --git a/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java b/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java
index 537657ae92a..7988f616011 100644
--- a/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java
+++ b/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java
@@ -859,9 +859,9 @@ public static class SubscriptionCancel {
/**
* Whether to create prorations when canceling subscriptions. Possible values are {@code none}
- * and {@code create_prorations}, which is only compatible with {@code mode=immediately}. No
- * prorations are generated when canceling a subscription at the end of its natural billing
- * period.
+ * and {@code create_prorations}, which is only compatible with {@code mode=immediately}.
+ * Passing {@code always_invoice} will result in an error. No prorations are generated when
+ * canceling a subscription at the end of its natural billing period.
*/
@SerializedName("proration_behavior")
ProrationBehavior prorationBehavior;
@@ -958,8 +958,8 @@ public Builder setMode(ConfigurationUpdateParams.Features.SubscriptionCancel.Mod
/**
* Whether to create prorations when canceling subscriptions. Possible values are {@code
* none} and {@code create_prorations}, which is only compatible with {@code
- * mode=immediately}. No prorations are generated when canceling a subscription at the end
- * of its natural billing period.
+ * mode=immediately}. Passing {@code always_invoice} will result in an error. No prorations
+ * are generated when canceling a subscription at the end of its natural billing period.
*/
public Builder setProrationBehavior(
ConfigurationUpdateParams.Features.SubscriptionCancel.ProrationBehavior
diff --git a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java
index 6e3600135f7..181e3f8ca0c 100644
--- a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java
+++ b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java
@@ -5801,6 +5801,10 @@ public static class PaymentMethodOptions {
@SerializedName("p24")
P24 p24;
+ /** contains details about the Pay By Bank payment method options. */
+ @SerializedName("pay_by_bank")
+ PayByBank payByBank;
+
/** contains details about the PAYCO payment method options. */
@SerializedName("payco")
Payco payco;
@@ -5874,6 +5878,7 @@ private PaymentMethodOptions(
NaverPay naverPay,
Oxxo oxxo,
P24 p24,
+ PayByBank payByBank,
Payco payco,
Paynow paynow,
Paypal paypal,
@@ -5913,6 +5918,7 @@ private PaymentMethodOptions(
this.naverPay = naverPay;
this.oxxo = oxxo;
this.p24 = p24;
+ this.payByBank = payByBank;
this.payco = payco;
this.paynow = paynow;
this.paypal = paypal;
@@ -5987,6 +5993,8 @@ public static class Builder {
private P24 p24;
+ private PayByBank payByBank;
+
private Payco payco;
private Paynow paynow;
@@ -6040,6 +6048,7 @@ public SessionCreateParams.PaymentMethodOptions build() {
this.naverPay,
this.oxxo,
this.p24,
+ this.payByBank,
this.payco,
this.paynow,
this.paypal,
@@ -6245,6 +6254,12 @@ public Builder setP24(SessionCreateParams.PaymentMethodOptions.P24 p24) {
return this;
}
+ /** contains details about the Pay By Bank payment method options. */
+ public Builder setPayByBank(SessionCreateParams.PaymentMethodOptions.PayByBank payByBank) {
+ this.payByBank = payByBank;
+ return this;
+ }
+
/** contains details about the PAYCO payment method options. */
public Builder setPayco(SessionCreateParams.PaymentMethodOptions.Payco payco) {
this.payco = payco;
@@ -10962,6 +10977,63 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam {
}
}
+ @Getter
+ public static class PayByBank {
+ /**
+ * 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 PayByBank(Map extraParams) {
+ this.extraParams = extraParams;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public SessionCreateParams.PaymentMethodOptions.PayByBank build() {
+ return new SessionCreateParams.PaymentMethodOptions.PayByBank(this.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 SessionCreateParams.PaymentMethodOptions.PayByBank#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 SessionCreateParams.PaymentMethodOptions.PayByBank#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
public static class Payco {
/** Controls when the funds will be captured from the customer's account. */
@@ -12775,7 +12847,11 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam {
@Getter
public static class PhoneNumberCollection {
- /** Required. Set to {@code true} to enable phone number collection. */
+ /**
+ * Required. Set to {@code true} to enable phone number collection.
+ *
+ * Can only be set in {@code payment} and {@code subscription} mode.
+ */
@SerializedName("enabled")
Boolean enabled;
@@ -12807,7 +12883,11 @@ public SessionCreateParams.PhoneNumberCollection build() {
return new SessionCreateParams.PhoneNumberCollection(this.enabled, this.extraParams);
}
- /** Required. Set to {@code true} to enable phone number collection. */
+ /**
+ * Required. Set to {@code true} to enable phone number collection.
+ *
+ *
Can only be set in {@code payment} and {@code subscription} mode.
+ */
public Builder setEnabled(Boolean enabled) {
this.enabled = enabled;
return this;
@@ -13773,6 +13853,9 @@ public enum AllowedCountry implements ApiRequestParams.EnumParam {
@SerializedName("SC")
SC("SC"),
+ @SerializedName("SD")
+ SD("SD"),
+
@SerializedName("SE")
SE("SE"),
@@ -16079,6 +16162,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam {
@SerializedName("p24")
P24("p24"),
+ @SerializedName("pay_by_bank")
+ PAY_BY_BANK("pay_by_bank"),
+
@SerializedName("payco")
PAYCO("payco"),
diff --git a/src/main/java/com/stripe/param/financialconnections/TransactionListParams.java b/src/main/java/com/stripe/param/financialconnections/TransactionListParams.java
index 09552e8ef6d..0c5e82c3d1e 100644
--- a/src/main/java/com/stripe/param/financialconnections/TransactionListParams.java
+++ b/src/main/java/com/stripe/param/financialconnections/TransactionListParams.java
@@ -12,7 +12,8 @@
@Getter
public class TransactionListParams extends ApiRequestParams {
/**
- * Required. The ID of the Stripe account whose transactions will be retrieved.
+ * Required. The ID of the Financial Connections Account whose transactions will
+ * be retrieved.
*/
@SerializedName("account")
String account;
@@ -123,7 +124,8 @@ public TransactionListParams build() {
}
/**
- * Required. The ID of the Stripe account whose transactions will be retrieved.
+ * Required. The ID of the Financial Connections Account whose transactions
+ * will be retrieved.
*/
public Builder setAccount(String account) {
this.account = account;
diff --git a/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java b/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java
index 0483a98247f..01d0a43d259 100644
--- a/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java
+++ b/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java
@@ -578,6 +578,10 @@ public static class Tipping {
@SerializedName("hkd")
Hkd hkd;
+ /** Tipping configuration for JPY. */
+ @SerializedName("jpy")
+ Jpy jpy;
+
/** Tipping configuration for MYR. */
@SerializedName("myr")
Myr myr;
@@ -616,6 +620,7 @@ private Tipping(
Map extraParams,
Gbp gbp,
Hkd hkd,
+ Jpy jpy,
Myr myr,
Nok nok,
Nzd nzd,
@@ -632,6 +637,7 @@ private Tipping(
this.extraParams = extraParams;
this.gbp = gbp;
this.hkd = hkd;
+ this.jpy = jpy;
this.myr = myr;
this.nok = nok;
this.nzd = nzd;
@@ -664,6 +670,8 @@ public static class Builder {
private Hkd hkd;
+ private Jpy jpy;
+
private Myr myr;
private Nok nok;
@@ -690,6 +698,7 @@ public ConfigurationCreateParams.Tipping build() {
this.extraParams,
this.gbp,
this.hkd,
+ this.jpy,
this.myr,
this.nok,
this.nzd,
@@ -773,6 +782,12 @@ public Builder setHkd(ConfigurationCreateParams.Tipping.Hkd hkd) {
return this;
}
+ /** Tipping configuration for JPY. */
+ public Builder setJpy(ConfigurationCreateParams.Tipping.Jpy jpy) {
+ this.jpy = jpy;
+ return this;
+ }
+
/** Tipping configuration for MYR. */
public Builder setMyr(ConfigurationCreateParams.Tipping.Myr myr) {
this.myr = myr;
@@ -1992,6 +2007,153 @@ public Builder setSmartTipThreshold(Long smartTipThreshold) {
}
}
+ @Getter
+ public static class Jpy {
+ /**
+ * 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;
+
+ /** Fixed amounts displayed when collecting a tip. */
+ @SerializedName("fixed_amounts")
+ List fixedAmounts;
+
+ /** Percentages displayed when collecting a tip. */
+ @SerializedName("percentages")
+ List percentages;
+
+ /**
+ * Below this amount, fixed amounts will be displayed; above it, percentages will be
+ * displayed.
+ */
+ @SerializedName("smart_tip_threshold")
+ Long smartTipThreshold;
+
+ private Jpy(
+ Map extraParams,
+ List fixedAmounts,
+ List percentages,
+ Long smartTipThreshold) {
+ this.extraParams = extraParams;
+ this.fixedAmounts = fixedAmounts;
+ this.percentages = percentages;
+ this.smartTipThreshold = smartTipThreshold;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private List fixedAmounts;
+
+ private List percentages;
+
+ private Long smartTipThreshold;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public ConfigurationCreateParams.Tipping.Jpy build() {
+ return new ConfigurationCreateParams.Tipping.Jpy(
+ this.extraParams, this.fixedAmounts, this.percentages, this.smartTipThreshold);
+ }
+
+ /**
+ * 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 ConfigurationCreateParams.Tipping.Jpy#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 ConfigurationCreateParams.Tipping.Jpy#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 an element to `fixedAmounts` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationCreateParams.Tipping.Jpy#fixedAmounts} for the field documentation.
+ */
+ public Builder addFixedAmount(Long element) {
+ if (this.fixedAmounts == null) {
+ this.fixedAmounts = new ArrayList<>();
+ }
+ this.fixedAmounts.add(element);
+ return this;
+ }
+
+ /**
+ * Add all elements to `fixedAmounts` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationCreateParams.Tipping.Jpy#fixedAmounts} for the field documentation.
+ */
+ public Builder addAllFixedAmount(List elements) {
+ if (this.fixedAmounts == null) {
+ this.fixedAmounts = new ArrayList<>();
+ }
+ this.fixedAmounts.addAll(elements);
+ return this;
+ }
+
+ /**
+ * Add an element to `percentages` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationCreateParams.Tipping.Jpy#percentages} for the field documentation.
+ */
+ public Builder addPercentage(Long element) {
+ if (this.percentages == null) {
+ this.percentages = new ArrayList<>();
+ }
+ this.percentages.add(element);
+ return this;
+ }
+
+ /**
+ * Add all elements to `percentages` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationCreateParams.Tipping.Jpy#percentages} for the field documentation.
+ */
+ public Builder addAllPercentage(List elements) {
+ if (this.percentages == null) {
+ this.percentages = new ArrayList<>();
+ }
+ this.percentages.addAll(elements);
+ return this;
+ }
+
+ /**
+ * Below this amount, fixed amounts will be displayed; above it, percentages will be
+ * displayed.
+ */
+ public Builder setSmartTipThreshold(Long smartTipThreshold) {
+ this.smartTipThreshold = smartTipThreshold;
+ return this;
+ }
+ }
+ }
+
@Getter
public static class Myr {
/**
diff --git a/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java b/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java
index 14d6e837773..5064fad65fc 100644
--- a/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java
+++ b/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java
@@ -608,6 +608,10 @@ public static class Tipping {
@SerializedName("hkd")
Hkd hkd;
+ /** Tipping configuration for JPY. */
+ @SerializedName("jpy")
+ Jpy jpy;
+
/** Tipping configuration for MYR. */
@SerializedName("myr")
Myr myr;
@@ -646,6 +650,7 @@ private Tipping(
Map extraParams,
Gbp gbp,
Hkd hkd,
+ Jpy jpy,
Myr myr,
Nok nok,
Nzd nzd,
@@ -662,6 +667,7 @@ private Tipping(
this.extraParams = extraParams;
this.gbp = gbp;
this.hkd = hkd;
+ this.jpy = jpy;
this.myr = myr;
this.nok = nok;
this.nzd = nzd;
@@ -694,6 +700,8 @@ public static class Builder {
private Hkd hkd;
+ private Jpy jpy;
+
private Myr myr;
private Nok nok;
@@ -720,6 +728,7 @@ public ConfigurationUpdateParams.Tipping build() {
this.extraParams,
this.gbp,
this.hkd,
+ this.jpy,
this.myr,
this.nok,
this.nzd,
@@ -803,6 +812,12 @@ public Builder setHkd(ConfigurationUpdateParams.Tipping.Hkd hkd) {
return this;
}
+ /** Tipping configuration for JPY. */
+ public Builder setJpy(ConfigurationUpdateParams.Tipping.Jpy jpy) {
+ this.jpy = jpy;
+ return this;
+ }
+
/** Tipping configuration for MYR. */
public Builder setMyr(ConfigurationUpdateParams.Tipping.Myr myr) {
this.myr = myr;
@@ -2022,6 +2037,153 @@ public Builder setSmartTipThreshold(Long smartTipThreshold) {
}
}
+ @Getter
+ public static class Jpy {
+ /**
+ * 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;
+
+ /** Fixed amounts displayed when collecting a tip. */
+ @SerializedName("fixed_amounts")
+ List fixedAmounts;
+
+ /** Percentages displayed when collecting a tip. */
+ @SerializedName("percentages")
+ List percentages;
+
+ /**
+ * Below this amount, fixed amounts will be displayed; above it, percentages will be
+ * displayed.
+ */
+ @SerializedName("smart_tip_threshold")
+ Long smartTipThreshold;
+
+ private Jpy(
+ Map extraParams,
+ List fixedAmounts,
+ List percentages,
+ Long smartTipThreshold) {
+ this.extraParams = extraParams;
+ this.fixedAmounts = fixedAmounts;
+ this.percentages = percentages;
+ this.smartTipThreshold = smartTipThreshold;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private List fixedAmounts;
+
+ private List percentages;
+
+ private Long smartTipThreshold;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public ConfigurationUpdateParams.Tipping.Jpy build() {
+ return new ConfigurationUpdateParams.Tipping.Jpy(
+ this.extraParams, this.fixedAmounts, this.percentages, this.smartTipThreshold);
+ }
+
+ /**
+ * 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 ConfigurationUpdateParams.Tipping.Jpy#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 ConfigurationUpdateParams.Tipping.Jpy#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 an element to `fixedAmounts` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationUpdateParams.Tipping.Jpy#fixedAmounts} for the field documentation.
+ */
+ public Builder addFixedAmount(Long element) {
+ if (this.fixedAmounts == null) {
+ this.fixedAmounts = new ArrayList<>();
+ }
+ this.fixedAmounts.add(element);
+ return this;
+ }
+
+ /**
+ * Add all elements to `fixedAmounts` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationUpdateParams.Tipping.Jpy#fixedAmounts} for the field documentation.
+ */
+ public Builder addAllFixedAmount(List elements) {
+ if (this.fixedAmounts == null) {
+ this.fixedAmounts = new ArrayList<>();
+ }
+ this.fixedAmounts.addAll(elements);
+ return this;
+ }
+
+ /**
+ * Add an element to `percentages` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationUpdateParams.Tipping.Jpy#percentages} for the field documentation.
+ */
+ public Builder addPercentage(Long element) {
+ if (this.percentages == null) {
+ this.percentages = new ArrayList<>();
+ }
+ this.percentages.add(element);
+ return this;
+ }
+
+ /**
+ * Add all elements to `percentages` list. A list is initialized for the first `add/addAll`
+ * call, and subsequent calls adds additional elements to the original list. See {@link
+ * ConfigurationUpdateParams.Tipping.Jpy#percentages} for the field documentation.
+ */
+ public Builder addAllPercentage(List elements) {
+ if (this.percentages == null) {
+ this.percentages = new ArrayList<>();
+ }
+ this.percentages.addAll(elements);
+ return this;
+ }
+
+ /**
+ * Below this amount, fixed amounts will be displayed; above it, percentages will be
+ * displayed.
+ */
+ public Builder setSmartTipThreshold(Long smartTipThreshold) {
+ this.smartTipThreshold = smartTipThreshold;
+ return this;
+ }
+ }
+ }
+
@Getter
public static class Myr {
/**
diff --git a/src/main/java/com/stripe/param/treasury/FinancialAccountCloseParams.java b/src/main/java/com/stripe/param/treasury/FinancialAccountCloseParams.java
new file mode 100644
index 00000000000..4e233be85c2
--- /dev/null
+++ b/src/main/java/com/stripe/param/treasury/FinancialAccountCloseParams.java
@@ -0,0 +1,238 @@
+// File generated from our OpenAPI spec
+package com.stripe.param.treasury;
+
+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.Getter;
+
+@Getter
+public class FinancialAccountCloseParams 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;
+
+ /**
+ * A different bank account where funds can be deposited/debited in order to get the closing FA's
+ * balance to $0.
+ */
+ @SerializedName("forwarding_settings")
+ ForwardingSettings forwardingSettings;
+
+ private FinancialAccountCloseParams(
+ List expand, Map extraParams, ForwardingSettings forwardingSettings) {
+ this.expand = expand;
+ this.extraParams = extraParams;
+ this.forwardingSettings = forwardingSettings;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private List expand;
+
+ private Map extraParams;
+
+ private ForwardingSettings forwardingSettings;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public FinancialAccountCloseParams build() {
+ return new FinancialAccountCloseParams(
+ this.expand, this.extraParams, this.forwardingSettings);
+ }
+
+ /**
+ * 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
+ * FinancialAccountCloseParams#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
+ * FinancialAccountCloseParams#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
+ * FinancialAccountCloseParams#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 FinancialAccountCloseParams#extraParams} for the field documentation.
+ */
+ public Builder putAllExtraParam(Map map) {
+ if (this.extraParams == null) {
+ this.extraParams = new HashMap<>();
+ }
+ this.extraParams.putAll(map);
+ return this;
+ }
+
+ /**
+ * A different bank account where funds can be deposited/debited in order to get the closing
+ * FA's balance to $0.
+ */
+ public Builder setForwardingSettings(
+ FinancialAccountCloseParams.ForwardingSettings forwardingSettings) {
+ this.forwardingSettings = forwardingSettings;
+ return this;
+ }
+ }
+
+ @Getter
+ public static class ForwardingSettings {
+ /**
+ * 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 financial_account id. */
+ @SerializedName("financial_account")
+ String financialAccount;
+
+ /** The payment_method or bank account id. This needs to be a verified bank account. */
+ @SerializedName("payment_method")
+ String paymentMethod;
+
+ /**
+ * Required. The type of the bank account provided. This can be either
+ * "financial_account" or "payment_method"
+ */
+ @SerializedName("type")
+ Type type;
+
+ private ForwardingSettings(
+ Map extraParams, String financialAccount, String paymentMethod, Type type) {
+ this.extraParams = extraParams;
+ this.financialAccount = financialAccount;
+ this.paymentMethod = paymentMethod;
+ this.type = type;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String financialAccount;
+
+ private String paymentMethod;
+
+ private Type type;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public FinancialAccountCloseParams.ForwardingSettings build() {
+ return new FinancialAccountCloseParams.ForwardingSettings(
+ this.extraParams, this.financialAccount, this.paymentMethod, this.type);
+ }
+
+ /**
+ * 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
+ * FinancialAccountCloseParams.ForwardingSettings#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 FinancialAccountCloseParams.ForwardingSettings#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 financial_account id. */
+ public Builder setFinancialAccount(String financialAccount) {
+ this.financialAccount = financialAccount;
+ return this;
+ }
+
+ /** The payment_method or bank account id. This needs to be a verified bank account. */
+ public Builder setPaymentMethod(String paymentMethod) {
+ this.paymentMethod = paymentMethod;
+ return this;
+ }
+
+ /**
+ * Required. The type of the bank account provided. This can be either
+ * "financial_account" or "payment_method"
+ */
+ public Builder setType(FinancialAccountCloseParams.ForwardingSettings.Type type) {
+ this.type = type;
+ return this;
+ }
+ }
+
+ public enum Type implements ApiRequestParams.EnumParam {
+ @SerializedName("financial_account")
+ FINANCIAL_ACCOUNT("financial_account"),
+
+ @SerializedName("payment_method")
+ PAYMENT_METHOD("payment_method");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ Type(String value) {
+ this.value = value;
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/stripe/param/treasury/FinancialAccountCreateParams.java b/src/main/java/com/stripe/param/treasury/FinancialAccountCreateParams.java
index 39a9c4d8876..08e76643f35 100644
--- a/src/main/java/com/stripe/param/treasury/FinancialAccountCreateParams.java
+++ b/src/main/java/com/stripe/param/treasury/FinancialAccountCreateParams.java
@@ -3,6 +3,7 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.net.ApiRequestParams;
+import com.stripe.param.common.EmptyParam;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -40,6 +41,10 @@ public class FinancialAccountCreateParams extends ApiRequestParams {
@SerializedName("metadata")
Map metadata;
+ /** The nickname for the FinancialAccount. */
+ @SerializedName("nickname")
+ Object nickname;
+
/** The set of functionalities that the platform can restrict on the FinancialAccount. */
@SerializedName("platform_restrictions")
PlatformRestrictions platformRestrictions;
@@ -53,12 +58,14 @@ private FinancialAccountCreateParams(
Map extraParams,
Features features,
Map metadata,
+ Object nickname,
PlatformRestrictions platformRestrictions,
List supportedCurrencies) {
this.expand = expand;
this.extraParams = extraParams;
this.features = features;
this.metadata = metadata;
+ this.nickname = nickname;
this.platformRestrictions = platformRestrictions;
this.supportedCurrencies = supportedCurrencies;
}
@@ -76,6 +83,8 @@ public static class Builder {
private Map metadata;
+ private Object nickname;
+
private PlatformRestrictions platformRestrictions;
private List supportedCurrencies;
@@ -87,6 +96,7 @@ public FinancialAccountCreateParams build() {
this.extraParams,
this.features,
this.metadata,
+ this.nickname,
this.platformRestrictions,
this.supportedCurrencies);
}
@@ -178,6 +188,18 @@ public Builder putAllMetadata(Map map) {
return this;
}
+ /** The nickname for the FinancialAccount. */
+ public Builder setNickname(String nickname) {
+ this.nickname = nickname;
+ return this;
+ }
+
+ /** The nickname for the FinancialAccount. */
+ public Builder setNickname(EmptyParam nickname) {
+ this.nickname = nickname;
+ return this;
+ }
+
/** The set of functionalities that the platform can restrict on the FinancialAccount. */
public Builder setPlatformRestrictions(
FinancialAccountCreateParams.PlatformRestrictions platformRestrictions) {
diff --git a/src/main/java/com/stripe/param/treasury/FinancialAccountUpdateParams.java b/src/main/java/com/stripe/param/treasury/FinancialAccountUpdateParams.java
index 07b4a040983..d0eb523258f 100644
--- a/src/main/java/com/stripe/param/treasury/FinancialAccountUpdateParams.java
+++ b/src/main/java/com/stripe/param/treasury/FinancialAccountUpdateParams.java
@@ -3,6 +3,7 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.net.ApiRequestParams;
+import com.stripe.param.common.EmptyParam;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -32,6 +33,13 @@ public class FinancialAccountUpdateParams extends ApiRequestParams {
@SerializedName("features")
Features features;
+ /**
+ * A different bank account where funds can be deposited/debited in order to get the closing FA's
+ * balance to $0.
+ */
+ @SerializedName("forwarding_settings")
+ ForwardingSettings forwardingSettings;
+
/**
* Set of key-value pairs that you can attach
* to an object. This can be useful for storing additional information about the object in a
@@ -41,6 +49,10 @@ public class FinancialAccountUpdateParams extends ApiRequestParams {
@SerializedName("metadata")
Map metadata;
+ /** The nickname for the FinancialAccount. */
+ @SerializedName("nickname")
+ Object nickname;
+
/** The set of functionalities that the platform can restrict on the FinancialAccount. */
@SerializedName("platform_restrictions")
PlatformRestrictions platformRestrictions;
@@ -49,12 +61,16 @@ private FinancialAccountUpdateParams(
List expand,
Map extraParams,
Features features,
+ ForwardingSettings forwardingSettings,
Map metadata,
+ Object nickname,
PlatformRestrictions platformRestrictions) {
this.expand = expand;
this.extraParams = extraParams;
this.features = features;
+ this.forwardingSettings = forwardingSettings;
this.metadata = metadata;
+ this.nickname = nickname;
this.platformRestrictions = platformRestrictions;
}
@@ -69,14 +85,24 @@ public static class Builder {
private Features features;
+ private ForwardingSettings forwardingSettings;
+
private Map metadata;
+ private Object nickname;
+
private PlatformRestrictions platformRestrictions;
/** Finalize and obtain parameter instance from this builder. */
public FinancialAccountUpdateParams build() {
return new FinancialAccountUpdateParams(
- this.expand, this.extraParams, this.features, this.metadata, this.platformRestrictions);
+ this.expand,
+ this.extraParams,
+ this.features,
+ this.forwardingSettings,
+ this.metadata,
+ this.nickname,
+ this.platformRestrictions);
}
/**
@@ -141,6 +167,16 @@ public Builder setFeatures(FinancialAccountUpdateParams.Features features) {
return this;
}
+ /**
+ * A different bank account where funds can be deposited/debited in order to get the closing
+ * FA's balance to $0.
+ */
+ public Builder setForwardingSettings(
+ FinancialAccountUpdateParams.ForwardingSettings forwardingSettings) {
+ this.forwardingSettings = forwardingSettings;
+ return this;
+ }
+
/**
* Add a key/value pair to `metadata` 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
@@ -167,6 +203,18 @@ public Builder putAllMetadata(Map map) {
return this;
}
+ /** The nickname for the FinancialAccount. */
+ public Builder setNickname(String nickname) {
+ this.nickname = nickname;
+ return this;
+ }
+
+ /** The nickname for the FinancialAccount. */
+ public Builder setNickname(EmptyParam nickname) {
+ this.nickname = nickname;
+ return this;
+ }
+
/** The set of functionalities that the platform can restrict on the FinancialAccount. */
public Builder setPlatformRestrictions(
FinancialAccountUpdateParams.PlatformRestrictions platformRestrictions) {
@@ -1346,6 +1394,136 @@ public Builder setRequested(Boolean requested) {
}
}
+ @Getter
+ public static class ForwardingSettings {
+ /**
+ * 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 financial_account id. */
+ @SerializedName("financial_account")
+ Object financialAccount;
+
+ /** The payment_method or bank account id. This needs to be a verified bank account. */
+ @SerializedName("payment_method")
+ Object paymentMethod;
+
+ /**
+ * Required. The type of the bank account provided. This can be either
+ * "financial_account" or "payment_method"
+ */
+ @SerializedName("type")
+ Type type;
+
+ private ForwardingSettings(
+ Map extraParams, Object financialAccount, Object paymentMethod, Type type) {
+ this.extraParams = extraParams;
+ this.financialAccount = financialAccount;
+ this.paymentMethod = paymentMethod;
+ this.type = type;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private Object financialAccount;
+
+ private Object paymentMethod;
+
+ private Type type;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public FinancialAccountUpdateParams.ForwardingSettings build() {
+ return new FinancialAccountUpdateParams.ForwardingSettings(
+ this.extraParams, this.financialAccount, this.paymentMethod, this.type);
+ }
+
+ /**
+ * 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
+ * FinancialAccountUpdateParams.ForwardingSettings#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 FinancialAccountUpdateParams.ForwardingSettings#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 financial_account id. */
+ public Builder setFinancialAccount(String financialAccount) {
+ this.financialAccount = financialAccount;
+ return this;
+ }
+
+ /** The financial_account id. */
+ public Builder setFinancialAccount(EmptyParam financialAccount) {
+ this.financialAccount = financialAccount;
+ return this;
+ }
+
+ /** The payment_method or bank account id. This needs to be a verified bank account. */
+ public Builder setPaymentMethod(String paymentMethod) {
+ this.paymentMethod = paymentMethod;
+ return this;
+ }
+
+ /** The payment_method or bank account id. This needs to be a verified bank account. */
+ public Builder setPaymentMethod(EmptyParam paymentMethod) {
+ this.paymentMethod = paymentMethod;
+ return this;
+ }
+
+ /**
+ * Required. The type of the bank account provided. This can be either
+ * "financial_account" or "payment_method"
+ */
+ public Builder setType(FinancialAccountUpdateParams.ForwardingSettings.Type type) {
+ this.type = type;
+ return this;
+ }
+ }
+
+ public enum Type implements ApiRequestParams.EnumParam {
+ @SerializedName("financial_account")
+ FINANCIAL_ACCOUNT("financial_account"),
+
+ @SerializedName("payment_method")
+ PAYMENT_METHOD("payment_method");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ Type(String value) {
+ this.value = value;
+ }
+ }
+ }
+
@Getter
public static class PlatformRestrictions {
/**
diff --git a/src/main/java/com/stripe/param/treasury/OutboundTransferCreateParams.java b/src/main/java/com/stripe/param/treasury/OutboundTransferCreateParams.java
index a429dfc5e61..0c437bd2aec 100644
--- a/src/main/java/com/stripe/param/treasury/OutboundTransferCreateParams.java
+++ b/src/main/java/com/stripe/param/treasury/OutboundTransferCreateParams.java
@@ -32,6 +32,13 @@ public class OutboundTransferCreateParams extends ApiRequestParams {
@SerializedName("destination_payment_method")
String destinationPaymentMethod;
+ /**
+ * Hash used to generate the PaymentMethod to be used for this OutboundTransfer. Exclusive with
+ * {@code destination_payment_method}.
+ */
+ @SerializedName("destination_payment_method_data")
+ DestinationPaymentMethodData destinationPaymentMethodData;
+
/** Hash describing payment method configuration details. */
@SerializedName("destination_payment_method_options")
DestinationPaymentMethodOptions destinationPaymentMethodOptions;
@@ -75,6 +82,7 @@ private OutboundTransferCreateParams(
String currency,
String description,
String destinationPaymentMethod,
+ DestinationPaymentMethodData destinationPaymentMethodData,
DestinationPaymentMethodOptions destinationPaymentMethodOptions,
List expand,
Map extraParams,
@@ -85,6 +93,7 @@ private OutboundTransferCreateParams(
this.currency = currency;
this.description = description;
this.destinationPaymentMethod = destinationPaymentMethod;
+ this.destinationPaymentMethodData = destinationPaymentMethodData;
this.destinationPaymentMethodOptions = destinationPaymentMethodOptions;
this.expand = expand;
this.extraParams = extraParams;
@@ -106,6 +115,8 @@ public static class Builder {
private String destinationPaymentMethod;
+ private DestinationPaymentMethodData destinationPaymentMethodData;
+
private DestinationPaymentMethodOptions destinationPaymentMethodOptions;
private List expand;
@@ -125,6 +136,7 @@ public OutboundTransferCreateParams build() {
this.currency,
this.description,
this.destinationPaymentMethod,
+ this.destinationPaymentMethodData,
this.destinationPaymentMethodOptions,
this.expand,
this.extraParams,
@@ -161,6 +173,16 @@ public Builder setDestinationPaymentMethod(String destinationPaymentMethod) {
return this;
}
+ /**
+ * Hash used to generate the PaymentMethod to be used for this OutboundTransfer. Exclusive with
+ * {@code destination_payment_method}.
+ */
+ public Builder setDestinationPaymentMethodData(
+ OutboundTransferCreateParams.DestinationPaymentMethodData destinationPaymentMethodData) {
+ this.destinationPaymentMethodData = destinationPaymentMethodData;
+ return this;
+ }
+
/** Hash describing payment method configuration details. */
public Builder setDestinationPaymentMethodOptions(
OutboundTransferCreateParams.DestinationPaymentMethodOptions
@@ -264,6 +286,109 @@ public Builder setStatementDescriptor(String statementDescriptor) {
}
}
+ @Getter
+ public static class DestinationPaymentMethodData {
+ /**
+ * 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 if type is set to {@code financial_account}. The FinancialAccount ID to send funds
+ * to.
+ */
+ @SerializedName("financial_account")
+ String financialAccount;
+
+ /** Required. The type of the destination. */
+ @SerializedName("type")
+ Type type;
+
+ private DestinationPaymentMethodData(
+ Map extraParams, String financialAccount, Type type) {
+ this.extraParams = extraParams;
+ this.financialAccount = financialAccount;
+ this.type = type;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private Map extraParams;
+
+ private String financialAccount;
+
+ private Type type;
+
+ /** Finalize and obtain parameter instance from this builder. */
+ public OutboundTransferCreateParams.DestinationPaymentMethodData build() {
+ return new OutboundTransferCreateParams.DestinationPaymentMethodData(
+ this.extraParams, this.financialAccount, this.type);
+ }
+
+ /**
+ * 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
+ * OutboundTransferCreateParams.DestinationPaymentMethodData#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 OutboundTransferCreateParams.DestinationPaymentMethodData#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 if type is set to {@code financial_account}. The FinancialAccount ID to send funds
+ * to.
+ */
+ public Builder setFinancialAccount(String financialAccount) {
+ this.financialAccount = financialAccount;
+ return this;
+ }
+
+ /** Required. The type of the destination. */
+ public Builder setType(OutboundTransferCreateParams.DestinationPaymentMethodData.Type type) {
+ this.type = type;
+ return this;
+ }
+ }
+
+ public enum Type implements ApiRequestParams.EnumParam {
+ @SerializedName("financial_account")
+ FINANCIAL_ACCOUNT("financial_account");
+
+ @Getter(onMethod_ = {@Override})
+ private final String value;
+
+ Type(String value) {
+ this.value = value;
+ }
+ }
+ }
+
@Getter
public static class DestinationPaymentMethodOptions {
/**
diff --git a/src/main/java/com/stripe/param/treasury/ReceivedCreditListParams.java b/src/main/java/com/stripe/param/treasury/ReceivedCreditListParams.java
index 3eee3863093..1ec6d016a2c 100644
--- a/src/main/java/com/stripe/param/treasury/ReceivedCreditListParams.java
+++ b/src/main/java/com/stripe/param/treasury/ReceivedCreditListParams.java
@@ -298,6 +298,9 @@ public enum SourceFlowType implements ApiRequestParams.EnumParam {
@SerializedName("outbound_payment")
OUTBOUND_PAYMENT("outbound_payment"),
+ @SerializedName("outbound_transfer")
+ OUTBOUND_TRANSFER("outbound_transfer"),
+
@SerializedName("payout")
PAYOUT("payout");
diff --git a/src/main/java/com/stripe/service/treasury/FinancialAccountService.java b/src/main/java/com/stripe/service/treasury/FinancialAccountService.java
index 8c037c6c570..64b227cf9b1 100644
--- a/src/main/java/com/stripe/service/treasury/FinancialAccountService.java
+++ b/src/main/java/com/stripe/service/treasury/FinancialAccountService.java
@@ -12,6 +12,7 @@
import com.stripe.net.BaseAddress;
import com.stripe.net.RequestOptions;
import com.stripe.net.StripeResponseGetter;
+import com.stripe.param.treasury.FinancialAccountCloseParams;
import com.stripe.param.treasury.FinancialAccountCreateParams;
import com.stripe.param.treasury.FinancialAccountListParams;
import com.stripe.param.treasury.FinancialAccountRetrieveParams;
@@ -131,6 +132,48 @@ public FinancialAccount update(
options);
return this.request(request, FinancialAccount.class);
}
+ /**
+ * Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has
+ * no pending InboundTransfers, and has canceled all attached Issuing cards.
+ */
+ public FinancialAccount close(String financialAccount, FinancialAccountCloseParams params)
+ throws StripeException {
+ return close(financialAccount, params, (RequestOptions) null);
+ }
+ /**
+ * Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has
+ * no pending InboundTransfers, and has canceled all attached Issuing cards.
+ */
+ public FinancialAccount close(String financialAccount, RequestOptions options)
+ throws StripeException {
+ return close(financialAccount, (FinancialAccountCloseParams) null, options);
+ }
+ /**
+ * Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has
+ * no pending InboundTransfers, and has canceled all attached Issuing cards.
+ */
+ public FinancialAccount close(String financialAccount) throws StripeException {
+ return close(financialAccount, (FinancialAccountCloseParams) null, (RequestOptions) null);
+ }
+ /**
+ * Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has
+ * no pending InboundTransfers, and has canceled all attached Issuing cards.
+ */
+ public FinancialAccount close(
+ String financialAccount, FinancialAccountCloseParams params, RequestOptions options)
+ throws StripeException {
+ String path =
+ String.format(
+ "/v1/treasury/financial_accounts/%s/close", ApiResource.urlEncodeId(financialAccount));
+ ApiRequest request =
+ new ApiRequest(
+ BaseAddress.API,
+ ApiResource.RequestMethod.POST,
+ path,
+ ApiRequestParams.paramsToMap(params),
+ options);
+ return this.request(request, FinancialAccount.class);
+ }
public com.stripe.service.treasury.FinancialAccountFeaturesService features() {
return new com.stripe.service.treasury.FinancialAccountFeaturesService(
diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java
index 1901347e306..9a7629fb569 100644
--- a/src/test/java/com/stripe/functional/GeneratedExamples.java
+++ b/src/test/java/com/stripe/functional/GeneratedExamples.java
@@ -11906,6 +11906,50 @@ public void testTerminalReadersProcessPaymentIntentPostServices() throws StripeE
null);
}
+ @Test
+ public void testTerminalReadersProcessSetupIntentPost() throws StripeException {
+ com.stripe.model.terminal.Reader resource =
+ com.stripe.model.terminal.Reader.retrieve("tmr_xxxxxxxxxxxxx");
+
+ com.stripe.param.terminal.ReaderProcessSetupIntentParams params =
+ com.stripe.param.terminal.ReaderProcessSetupIntentParams.builder()
+ .setSetupIntent("seti_xxxxxxxxxxxxx")
+ .setAllowRedisplay(
+ com.stripe.param.terminal.ReaderProcessSetupIntentParams.AllowRedisplay.ALWAYS)
+ .build();
+
+ com.stripe.model.terminal.Reader reader = resource.processSetupIntent(params);
+ assertNotNull(reader);
+ verifyRequest(
+ BaseAddress.API,
+ ApiResource.RequestMethod.POST,
+ "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent",
+ params.toMap(),
+ null);
+ }
+
+ @Test
+ public void testTerminalReadersProcessSetupIntentPostServices() throws StripeException {
+ StripeClient client = new StripeClient(networkSpy);
+
+ com.stripe.param.terminal.ReaderProcessSetupIntentParams params =
+ com.stripe.param.terminal.ReaderProcessSetupIntentParams.builder()
+ .setSetupIntent("seti_xxxxxxxxxxxxx")
+ .setAllowRedisplay(
+ com.stripe.param.terminal.ReaderProcessSetupIntentParams.AllowRedisplay.ALWAYS)
+ .build();
+
+ com.stripe.model.terminal.Reader reader =
+ client.terminal().readers().processSetupIntent("tmr_xxxxxxxxxxxxx", params);
+ assertNotNull(reader);
+ verifyRequest(
+ BaseAddress.API,
+ ApiResource.RequestMethod.POST,
+ "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent",
+ params.toMap(),
+ null);
+ }
+
@Test
public void testTestHelpersCustomersFundCashBalancePost() throws StripeException {
Customer resource = Customer.retrieve("cus_123");