From 1c518787b6725f35aede15c3d5953aa8475fd6e9 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Tue, 10 Mar 2026 21:36:24 +0000 Subject: [PATCH 1/3] Update generated code for v2190 and --- CODEGEN_VERSION | 2 +- OPENAPI_VERSION | 2 +- .../com/stripe/model/BalanceTransaction.java | 4 +- src/main/java/com/stripe/model/Dispute.java | 8 + .../stripe/model/EventDataClassLookup.java | 3 + .../java/com/stripe/model/InvoiceItem.java | 7 + .../radar/IssuingAuthorizationEvaluation.java | 384 +++++ .../RequestedSessionConfirmParams.java | 41 +- .../RequestedSessionCreateParams.java | 41 +- ...ngAuthorizationEvaluationCreateParams.java | 1282 +++++++++++++++++ .../java/com/stripe/service/RadarService.java | 6 + ...IssuingAuthorizationEvaluationService.java | 39 + 12 files changed, 1753 insertions(+), 66 deletions(-) create mode 100644 src/main/java/com/stripe/model/radar/IssuingAuthorizationEvaluation.java create mode 100644 src/main/java/com/stripe/param/radar/IssuingAuthorizationEvaluationCreateParams.java create mode 100644 src/main/java/com/stripe/service/radar/IssuingAuthorizationEvaluationService.java diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index b7a4b42e31e..1af0fcf6364 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -49b1e23eef1a5004ed00987c41d5ec8447a19e27 \ No newline at end of file +a755a650e09106e1f7fd54f785abe84041e0c070 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 4c2310759e9..466b261db46 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2189 \ No newline at end of file +v2190 \ No newline at end of file diff --git a/src/main/java/com/stripe/model/BalanceTransaction.java b/src/main/java/com/stripe/model/BalanceTransaction.java index 13729aef1d4..680e512266a 100644 --- a/src/main/java/com/stripe/model/BalanceTransaction.java +++ b/src/main/java/com/stripe/model/BalanceTransaction.java @@ -43,8 +43,8 @@ public class BalanceTransaction extends ApiResource implements HasId { /** * The balance that this transaction impacts. * - *

One of {@code issuing}, {@code payments}, {@code refund_and_dispute_prefunding}, {@code - * risk_reserved}, or {@code transit}. + *

One of {@code fee_credits}, {@code issuing}, {@code payments}, {@code + * refund_and_dispute_prefunding}, {@code risk_reserved}, or {@code transit}. */ @SerializedName("balance_type") String balanceType; diff --git a/src/main/java/com/stripe/model/Dispute.java b/src/main/java/com/stripe/model/Dispute.java index f5960a8e47b..0e5ce2f3852 100644 --- a/src/main/java/com/stripe/model/Dispute.java +++ b/src/main/java/com/stripe/model/Dispute.java @@ -38,6 +38,14 @@ public class Dispute extends ApiResource @SerializedName("amount") Long amount; + /** + * The amount you want to contest, in the dispute's currency. Setting this to less than the full + * dispute amount means accepting the loss on the remaining amount. If not specified, the entire + * disputed amount is contested. + */ + @SerializedName("amount_to_counter") + Long amountToCounter; + /** * List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your * Stripe account as a result of this dispute. diff --git a/src/main/java/com/stripe/model/EventDataClassLookup.java b/src/main/java/com/stripe/model/EventDataClassLookup.java index c9e3ac98d0c..1c9f829a554 100644 --- a/src/main/java/com/stripe/model/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/EventDataClassLookup.java @@ -226,6 +226,9 @@ public final class EventDataClassLookup { classLookup.put("radar.account_evaluation", com.stripe.model.radar.AccountEvaluation.class); classLookup.put("radar.early_fraud_warning", com.stripe.model.radar.EarlyFraudWarning.class); + classLookup.put( + "radar.issuing_authorization_evaluation", + com.stripe.model.radar.IssuingAuthorizationEvaluation.class); classLookup.put("radar.payment_evaluation", com.stripe.model.radar.PaymentEvaluation.class); classLookup.put("radar.value_list", com.stripe.model.radar.ValueList.class); classLookup.put("radar.value_list_item", com.stripe.model.radar.ValueListItem.class); diff --git a/src/main/java/com/stripe/model/InvoiceItem.java b/src/main/java/com/stripe/model/InvoiceItem.java index 07d637d87e4..48a0846804f 100644 --- a/src/main/java/com/stripe/model/InvoiceItem.java +++ b/src/main/java/com/stripe/model/InvoiceItem.java @@ -92,6 +92,13 @@ public class InvoiceItem extends ApiResource implements HasId, MetadataStore> discounts; + /** + * Array of field names that can't be modified. Attempting to update a frozen field returns an + * error. + */ + @SerializedName("frozen_fields") + List frozenFields; + /** Unique identifier for the object. */ @Getter(onMethod_ = {@Override}) @SerializedName("id") diff --git a/src/main/java/com/stripe/model/radar/IssuingAuthorizationEvaluation.java b/src/main/java/com/stripe/model/radar/IssuingAuthorizationEvaluation.java new file mode 100644 index 00000000000..0464af5bbb1 --- /dev/null +++ b/src/main/java/com/stripe/model/radar/IssuingAuthorizationEvaluation.java @@ -0,0 +1,384 @@ +// File generated from our OpenAPI spec +package com.stripe.model.radar; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.model.HasId; +import com.stripe.model.StripeObject; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.radar.IssuingAuthorizationEvaluationCreateParams; +import java.math.BigDecimal; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * Authorization Evaluations represent fraud risk assessments for Issuing card authorizations. They + * include fraud risk signals and contextual details about the authorization. + */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class IssuingAuthorizationEvaluation extends ApiResource implements HasId { + /** Details about the authorization transaction. */ + @SerializedName("authorization_details") + AuthorizationDetails authorizationDetails; + + /** Details about the card used in the authorization. */ + @SerializedName("card_details") + CardDetails cardDetails; + + /** Details about the cardholder. */ + @SerializedName("cardholder_details") + CardholderDetails cardholderDetails; + + /** Unique identifier for the object. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** + * If the object exists in live mode, the value is {@code true}. If the object exists in test + * mode, the value is {@code false}. + */ + @SerializedName("livemode") + Boolean livemode; + + /** Details about the merchant where the authorization occurred. */ + @SerializedName("merchant_details") + MerchantDetails merchantDetails; + + /** + * 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 structured format. + */ + @SerializedName("metadata") + Map metadata; + + /** Details about the card network processing. */ + @SerializedName("network_details") + NetworkDetails networkDetails; + + /** + * String representing the object's type. Objects of the same type share the same value. + * + *

Equal to {@code radar.issuing_authorization_evaluation}. + */ + @SerializedName("object") + String object; + + /** Collection of fraud risk signals for this authorization evaluation. */ + @SerializedName("signals") + Signals signals; + + /** Details about the token, if a tokenized payment method was used. */ + @SerializedName("token_details") + TokenDetails tokenDetails; + + /** Details about verification checks performed. */ + @SerializedName("verification_details") + VerificationDetails verificationDetails; + + /** Request a fraud risk assessment from Stripe for an Issuing card authorization. */ + public static IssuingAuthorizationEvaluation create(Map params) + throws StripeException { + return create(params, (RequestOptions) null); + } + + /** Request a fraud risk assessment from Stripe for an Issuing card authorization. */ + public static IssuingAuthorizationEvaluation create( + Map params, RequestOptions options) throws StripeException { + String path = "/v1/radar/issuing_authorization_evaluations"; + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getGlobalResponseGetter().request(request, IssuingAuthorizationEvaluation.class); + } + + /** Request a fraud risk assessment from Stripe for an Issuing card authorization. */ + public static IssuingAuthorizationEvaluation create( + IssuingAuthorizationEvaluationCreateParams params) throws StripeException { + return create(params, (RequestOptions) null); + } + + /** Request a fraud risk assessment from Stripe for an Issuing card authorization. */ + public static IssuingAuthorizationEvaluation create( + IssuingAuthorizationEvaluationCreateParams params, RequestOptions options) + throws StripeException { + String path = "/v1/radar/issuing_authorization_evaluations"; + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, IssuingAuthorizationEvaluation.class); + } + + /** Details about the authorization transaction. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AuthorizationDetails extends StripeObject { + /** The authorization amount in the smallest currency unit. */ + @SerializedName("amount") + Long amount; + + /** + * The method used for authorization. + * + *

One of {@code chip}, {@code contactless}, {@code keyed_in}, {@code online}, or {@code + * swipe}. + */ + @SerializedName("authorization_method") + String authorizationMethod; + + /** Three-letter ISO currency code in lowercase. */ + @SerializedName("currency") + String currency; + + /** + * The card entry mode. + * + *

One of {@code contactless}, {@code contactless_magstripe}, {@code credential_on_file}, + * {@code integrated_circuit_card}, {@code magstripe}, {@code magstripe_no_cvv}, {@code manual}, + * {@code other}, or {@code unknown}. + */ + @SerializedName("entry_mode") + String entryMode; + + /** The raw code for the card entry mode. */ + @SerializedName("entry_mode_raw_code") + String entryModeRawCode; + + /** The time when the authorization was initiated. */ + @SerializedName("initiated_at") + Long initiatedAt; + + /** + * The point of sale condition. + * + *

One of {@code account_verification}, {@code card_not_present}, {@code card_present}, + * {@code e_commerce}, {@code key_entered_pos}, {@code missing}, {@code moto}, {@code other}, + * {@code pin_entered}, or {@code recurring}. + */ + @SerializedName("point_of_sale_condition") + String pointOfSaleCondition; + + /** The raw code for the point of sale condition. */ + @SerializedName("point_of_sale_condition_raw_code") + String pointOfSaleConditionRawCode; + + /** External reference for the authorization. */ + @SerializedName("reference") + String reference; + } + + /** Details about the card used in the authorization. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CardDetails extends StripeObject { + /** The Bank Identification Number (BIN) of the card. */ + @SerializedName("bin") + String bin; + + /** The country code associated with the card BIN. */ + @SerializedName("bin_country") + String binCountry; + + /** + * The type of card (physical or virtual). + * + *

One of {@code physical}, or {@code virtual}. + */ + @SerializedName("card_type") + String cardType; + + /** The time when the card was created. */ + @SerializedName("created_at") + Long createdAt; + + /** The last 4 digits of the card number. */ + @SerializedName("last4") + String last4; + + /** External reference for the card. */ + @SerializedName("reference") + String reference; + } + + /** Details about the cardholder. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CardholderDetails extends StripeObject { + /** The time when the cardholder was created. */ + @SerializedName("created_at") + Long createdAt; + + /** External reference for the cardholder. */ + @SerializedName("reference") + String reference; + } + + /** Details about the merchant where the authorization occurred. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MerchantDetails extends StripeObject { + /** The merchant category code (MCC). */ + @SerializedName("category_code") + String categoryCode; + + /** The merchant country code. */ + @SerializedName("country") + String country; + + /** The merchant name. */ + @SerializedName("name") + String name; + + /** The merchant identifier from the card network. */ + @SerializedName("network_id") + String networkId; + + /** The terminal identifier. */ + @SerializedName("terminal_id") + String terminalId; + } + + /** Details about the card network processing. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NetworkDetails extends StripeObject { + /** The acquiring institution identifier. */ + @SerializedName("acquiring_institution_id") + String acquiringInstitutionId; + + /** + * The card network that processed the authorization. + * + *

One of {@code cirrus}, {@code interlink}, {@code maestro}, {@code mastercard}, {@code + * other}, {@code plus}, or {@code visa}. + */ + @SerializedName("routed_network") + String routedNetwork; + } + + /** Collection of fraud risk signals for this authorization evaluation. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Signals extends StripeObject { + /** A fraud risk signal with status, error, and data fields. */ + @SerializedName("fraud_risk") + FraudRisk fraudRisk; + + /** A fraud risk signal with status, error, and data fields. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FraudRisk extends StripeObject { + /** Signal evaluation data, including score and level. */ + @SerializedName("data") + Data data; + + /** Details of an error that prevented reporting this signal. */ + @SerializedName("error") + Map error; + + /** + * The status of this signal. + * + *

One of {@code error}, or {@code success}. + */ + @SerializedName("status") + String status; + + /** The signal's data payload, available upon a successful signal evaluation. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Data extends StripeObject { + /** The time when this signal was evaluated. */ + @SerializedName("evaluated_at") + Long evaluatedAt; + + /** + * Risk level, based on the score. + * + *

One of {@code elevated}, {@code highest}, {@code low}, {@code normal}, {@code + * not_assessed}, or {@code unknown}. + */ + @SerializedName("level") + String level; + + /** + * Fraud risk score for this evaluation. Score in the range [0,100], formatted as a 2 + * decimal float, with higher scores indicating a higher likelihood of fraud. + */ + @SerializedName("score") + BigDecimal score; + } + } + } + + /** Details about the token, if a tokenized payment method was used. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TokenDetails extends StripeObject { + /** The time when the token was created. */ + @SerializedName("created_at") + Long createdAt; + + /** External reference for the token. */ + @SerializedName("reference") + String reference; + + /** + * The wallet provider, if applicable. + * + *

One of {@code apple_pay}, {@code google_pay}, or {@code samsung_pay}. + */ + @SerializedName("wallet") + String wallet; + } + + /** Details about verification checks performed. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class VerificationDetails extends StripeObject { + /** + * The result of the 3D Secure verification. + * + *

One of {@code attempt_acknowledged}, {@code authenticated}, {@code exempted}, {@code + * failed}, or {@code required}. + */ + @SerializedName("three_d_secure_result") + String threeDSecureResult; + } + + @Override + public void setResponseGetter(StripeResponseGetter responseGetter) { + super.setResponseGetter(responseGetter); + trySetResponseGetter(authorizationDetails, responseGetter); + trySetResponseGetter(cardDetails, responseGetter); + trySetResponseGetter(cardholderDetails, responseGetter); + trySetResponseGetter(merchantDetails, responseGetter); + trySetResponseGetter(networkDetails, responseGetter); + trySetResponseGetter(signals, responseGetter); + trySetResponseGetter(tokenDetails, responseGetter); + trySetResponseGetter(verificationDetails, responseGetter); + } +} diff --git a/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java b/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java index 83a2e9d5e63..d4dbbe217ed 100644 --- a/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java +++ b/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionConfirmParams.java @@ -14,8 +14,8 @@ @EqualsAndHashCode(callSuper = false) public class RequestedSessionConfirmParams extends ApiRequestParams { /** Affiliate attribution data associated with this requested session. */ - @SerializedName("affiliate_attributions") - List affiliateAttributions; + @SerializedName("affiliate_attribution") + AffiliateAttribution affiliateAttribution; /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") @@ -43,13 +43,13 @@ public class RequestedSessionConfirmParams extends ApiRequestParams { RiskDetails riskDetails; private RequestedSessionConfirmParams( - List affiliateAttributions, + AffiliateAttribution affiliateAttribution, List expand, Map extraParams, String paymentMethod, PaymentMethodData paymentMethodData, RiskDetails riskDetails) { - this.affiliateAttributions = affiliateAttributions; + this.affiliateAttribution = affiliateAttribution; this.expand = expand; this.extraParams = extraParams; this.paymentMethod = paymentMethod; @@ -62,7 +62,7 @@ public static Builder builder() { } public static class Builder { - private List affiliateAttributions; + private AffiliateAttribution affiliateAttribution; private List expand; @@ -77,7 +77,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public RequestedSessionConfirmParams build() { return new RequestedSessionConfirmParams( - this.affiliateAttributions, + this.affiliateAttribution, this.expand, this.extraParams, this.paymentMethod, @@ -85,31 +85,10 @@ public RequestedSessionConfirmParams build() { this.riskDetails); } - /** - * Add an element to `affiliateAttributions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link RequestedSessionConfirmParams#affiliateAttributions} for the field documentation. - */ - public Builder addAffiliateAttribution( - RequestedSessionConfirmParams.AffiliateAttribution element) { - if (this.affiliateAttributions == null) { - this.affiliateAttributions = new ArrayList<>(); - } - this.affiliateAttributions.add(element); - return this; - } - - /** - * Add all elements to `affiliateAttributions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link RequestedSessionConfirmParams#affiliateAttributions} for the field documentation. - */ - public Builder addAllAffiliateAttribution( - List elements) { - if (this.affiliateAttributions == null) { - this.affiliateAttributions = new ArrayList<>(); - } - this.affiliateAttributions.addAll(elements); + /** Affiliate attribution data associated with this requested session. */ + public Builder setAffiliateAttribution( + RequestedSessionConfirmParams.AffiliateAttribution affiliateAttribution) { + this.affiliateAttribution = affiliateAttribution; return this; } diff --git a/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionCreateParams.java b/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionCreateParams.java index 4b92f7bbfd6..359e6d847ec 100644 --- a/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionCreateParams.java +++ b/src/main/java/com/stripe/param/delegatedcheckout/RequestedSessionCreateParams.java @@ -14,8 +14,8 @@ @EqualsAndHashCode(callSuper = false) public class RequestedSessionCreateParams extends ApiRequestParams { /** Affiliate attribution data associated with this requested session. */ - @SerializedName("affiliate_attributions") - List affiliateAttributions; + @SerializedName("affiliate_attribution") + AffiliateAttribution affiliateAttribution; /** Required. The currency for this requested session. */ @SerializedName("currency") @@ -71,7 +71,7 @@ public class RequestedSessionCreateParams extends ApiRequestParams { Map sharedMetadata; private RequestedSessionCreateParams( - List affiliateAttributions, + AffiliateAttribution affiliateAttribution, String currency, String customer, List expand, @@ -84,7 +84,7 @@ private RequestedSessionCreateParams( SellerDetails sellerDetails, SetupFutureUsage setupFutureUsage, Map sharedMetadata) { - this.affiliateAttributions = affiliateAttributions; + this.affiliateAttribution = affiliateAttribution; this.currency = currency; this.customer = customer; this.expand = expand; @@ -104,7 +104,7 @@ public static Builder builder() { } public static class Builder { - private List affiliateAttributions; + private AffiliateAttribution affiliateAttribution; private String currency; @@ -133,7 +133,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public RequestedSessionCreateParams build() { return new RequestedSessionCreateParams( - this.affiliateAttributions, + this.affiliateAttribution, this.currency, this.customer, this.expand, @@ -148,31 +148,10 @@ public RequestedSessionCreateParams build() { this.sharedMetadata); } - /** - * Add an element to `affiliateAttributions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link RequestedSessionCreateParams#affiliateAttributions} for the field documentation. - */ - public Builder addAffiliateAttribution( - RequestedSessionCreateParams.AffiliateAttribution element) { - if (this.affiliateAttributions == null) { - this.affiliateAttributions = new ArrayList<>(); - } - this.affiliateAttributions.add(element); - return this; - } - - /** - * Add all elements to `affiliateAttributions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link RequestedSessionCreateParams#affiliateAttributions} for the field documentation. - */ - public Builder addAllAffiliateAttribution( - List elements) { - if (this.affiliateAttributions == null) { - this.affiliateAttributions = new ArrayList<>(); - } - this.affiliateAttributions.addAll(elements); + /** Affiliate attribution data associated with this requested session. */ + public Builder setAffiliateAttribution( + RequestedSessionCreateParams.AffiliateAttribution affiliateAttribution) { + this.affiliateAttribution = affiliateAttribution; return this; } diff --git a/src/main/java/com/stripe/param/radar/IssuingAuthorizationEvaluationCreateParams.java b/src/main/java/com/stripe/param/radar/IssuingAuthorizationEvaluationCreateParams.java new file mode 100644 index 00000000000..9865f2d923e --- /dev/null +++ b/src/main/java/com/stripe/param/radar/IssuingAuthorizationEvaluationCreateParams.java @@ -0,0 +1,1282 @@ +// File generated from our OpenAPI spec +package com.stripe.param.radar; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class IssuingAuthorizationEvaluationCreateParams extends ApiRequestParams { + /** Required. Details about the authorization. */ + @SerializedName("authorization_details") + AuthorizationDetails authorizationDetails; + + /** Required. Details about the card used in the authorization. */ + @SerializedName("card_details") + CardDetails cardDetails; + + /** Details about the cardholder. */ + @SerializedName("cardholder_details") + CardholderDetails cardholderDetails; + + /** 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; + + /** Required. Details about the merchant where the authorization occurred. */ + @SerializedName("merchant_details") + MerchantDetails merchantDetails; + + /** + * 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 + * structured format. Individual keys can be unset by posting an empty value to them. All keys can + * be unset by posting an empty value to {@code metadata}. + */ + @SerializedName("metadata") + Map metadata; + + /** Details about the card network processing. */ + @SerializedName("network_details") + NetworkDetails networkDetails; + + /** Details about the token, if a tokenized payment method was used. */ + @SerializedName("token_details") + TokenDetails tokenDetails; + + /** Details about verification checks performed. */ + @SerializedName("verification_details") + VerificationDetails verificationDetails; + + private IssuingAuthorizationEvaluationCreateParams( + AuthorizationDetails authorizationDetails, + CardDetails cardDetails, + CardholderDetails cardholderDetails, + List expand, + Map extraParams, + MerchantDetails merchantDetails, + Map metadata, + NetworkDetails networkDetails, + TokenDetails tokenDetails, + VerificationDetails verificationDetails) { + this.authorizationDetails = authorizationDetails; + this.cardDetails = cardDetails; + this.cardholderDetails = cardholderDetails; + this.expand = expand; + this.extraParams = extraParams; + this.merchantDetails = merchantDetails; + this.metadata = metadata; + this.networkDetails = networkDetails; + this.tokenDetails = tokenDetails; + this.verificationDetails = verificationDetails; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AuthorizationDetails authorizationDetails; + + private CardDetails cardDetails; + + private CardholderDetails cardholderDetails; + + private List expand; + + private Map extraParams; + + private MerchantDetails merchantDetails; + + private Map metadata; + + private NetworkDetails networkDetails; + + private TokenDetails tokenDetails; + + private VerificationDetails verificationDetails; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams build() { + return new IssuingAuthorizationEvaluationCreateParams( + this.authorizationDetails, + this.cardDetails, + this.cardholderDetails, + this.expand, + this.extraParams, + this.merchantDetails, + this.metadata, + this.networkDetails, + this.tokenDetails, + this.verificationDetails); + } + + /** Required. Details about the authorization. */ + public Builder setAuthorizationDetails( + IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails authorizationDetails) { + this.authorizationDetails = authorizationDetails; + return this; + } + + /** Required. Details about the card used in the authorization. */ + public Builder setCardDetails( + IssuingAuthorizationEvaluationCreateParams.CardDetails cardDetails) { + this.cardDetails = cardDetails; + return this; + } + + /** Details about the cardholder. */ + public Builder setCardholderDetails( + IssuingAuthorizationEvaluationCreateParams.CardholderDetails cardholderDetails) { + this.cardholderDetails = cardholderDetails; + return this; + } + + /** + * 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 + * IssuingAuthorizationEvaluationCreateParams#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 + * IssuingAuthorizationEvaluationCreateParams#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 + * IssuingAuthorizationEvaluationCreateParams#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 IssuingAuthorizationEvaluationCreateParams#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. Details about the merchant where the authorization occurred. */ + public Builder setMerchantDetails( + IssuingAuthorizationEvaluationCreateParams.MerchantDetails merchantDetails) { + this.merchantDetails = merchantDetails; + 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 + * IssuingAuthorizationEvaluationCreateParams#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs 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 IssuingAuthorizationEvaluationCreateParams#metadata} for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** Details about the card network processing. */ + public Builder setNetworkDetails( + IssuingAuthorizationEvaluationCreateParams.NetworkDetails networkDetails) { + this.networkDetails = networkDetails; + return this; + } + + /** Details about the token, if a tokenized payment method was used. */ + public Builder setTokenDetails( + IssuingAuthorizationEvaluationCreateParams.TokenDetails tokenDetails) { + this.tokenDetails = tokenDetails; + return this; + } + + /** Details about verification checks performed. */ + public Builder setVerificationDetails( + IssuingAuthorizationEvaluationCreateParams.VerificationDetails verificationDetails) { + this.verificationDetails = verificationDetails; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AuthorizationDetails { + /** Required. The authorization amount in the smallest currency unit. */ + @SerializedName("amount") + Long amount; + + /** The method used for authorization. */ + @SerializedName("authorization_method") + AuthorizationMethod authorizationMethod; + + /** Required. Three-letter ISO currency code in lowercase. */ + @SerializedName("currency") + String currency; + + /** The card entry mode. */ + @SerializedName("entry_mode") + EntryMode entryMode; + + /** The raw code for the card entry mode. */ + @SerializedName("entry_mode_raw_code") + String entryModeRawCode; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The time when the authorization was initiated (Unix timestamp). + */ + @SerializedName("initiated_at") + Long initiatedAt; + + /** The point of sale condition. */ + @SerializedName("point_of_sale_condition") + PointOfSaleCondition pointOfSaleCondition; + + /** The raw code for the point of sale condition. */ + @SerializedName("point_of_sale_condition_raw_code") + String pointOfSaleConditionRawCode; + + /** Required. External reference for the authorization. */ + @SerializedName("reference") + String reference; + + private AuthorizationDetails( + Long amount, + AuthorizationMethod authorizationMethod, + String currency, + EntryMode entryMode, + String entryModeRawCode, + Map extraParams, + Long initiatedAt, + PointOfSaleCondition pointOfSaleCondition, + String pointOfSaleConditionRawCode, + String reference) { + this.amount = amount; + this.authorizationMethod = authorizationMethod; + this.currency = currency; + this.entryMode = entryMode; + this.entryModeRawCode = entryModeRawCode; + this.extraParams = extraParams; + this.initiatedAt = initiatedAt; + this.pointOfSaleCondition = pointOfSaleCondition; + this.pointOfSaleConditionRawCode = pointOfSaleConditionRawCode; + this.reference = reference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private AuthorizationMethod authorizationMethod; + + private String currency; + + private EntryMode entryMode; + + private String entryModeRawCode; + + private Map extraParams; + + private Long initiatedAt; + + private PointOfSaleCondition pointOfSaleCondition; + + private String pointOfSaleConditionRawCode; + + private String reference; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails( + this.amount, + this.authorizationMethod, + this.currency, + this.entryMode, + this.entryModeRawCode, + this.extraParams, + this.initiatedAt, + this.pointOfSaleCondition, + this.pointOfSaleConditionRawCode, + this.reference); + } + + /** Required. The authorization amount in the smallest currency unit. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** The method used for authorization. */ + public Builder setAuthorizationMethod( + IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails.AuthorizationMethod + authorizationMethod) { + this.authorizationMethod = authorizationMethod; + return this; + } + + /** Required. Three-letter ISO currency code in lowercase. */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** The card entry mode. */ + public Builder setEntryMode( + IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails.EntryMode entryMode) { + this.entryMode = entryMode; + return this; + } + + /** The raw code for the card entry mode. */ + public Builder setEntryModeRawCode(String entryModeRawCode) { + this.entryModeRawCode = entryModeRawCode; + 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 + * IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails#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 IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The time when the authorization was initiated (Unix timestamp). + */ + public Builder setInitiatedAt(Long initiatedAt) { + this.initiatedAt = initiatedAt; + return this; + } + + /** The point of sale condition. */ + public Builder setPointOfSaleCondition( + IssuingAuthorizationEvaluationCreateParams.AuthorizationDetails.PointOfSaleCondition + pointOfSaleCondition) { + this.pointOfSaleCondition = pointOfSaleCondition; + return this; + } + + /** The raw code for the point of sale condition. */ + public Builder setPointOfSaleConditionRawCode(String pointOfSaleConditionRawCode) { + this.pointOfSaleConditionRawCode = pointOfSaleConditionRawCode; + return this; + } + + /** Required. External reference for the authorization. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + } + + public enum AuthorizationMethod implements ApiRequestParams.EnumParam { + @SerializedName("chip") + CHIP("chip"), + + @SerializedName("contactless") + CONTACTLESS("contactless"), + + @SerializedName("keyed_in") + KEYED_IN("keyed_in"), + + @SerializedName("online") + ONLINE("online"), + + @SerializedName("swipe") + SWIPE("swipe"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AuthorizationMethod(String value) { + this.value = value; + } + } + + public enum EntryMode implements ApiRequestParams.EnumParam { + @SerializedName("contactless") + CONTACTLESS("contactless"), + + @SerializedName("contactless_magstripe") + CONTACTLESS_MAGSTRIPE("contactless_magstripe"), + + @SerializedName("credential_on_file") + CREDENTIAL_ON_FILE("credential_on_file"), + + @SerializedName("integrated_circuit_card") + INTEGRATED_CIRCUIT_CARD("integrated_circuit_card"), + + @SerializedName("magstripe") + MAGSTRIPE("magstripe"), + + @SerializedName("magstripe_no_cvv") + MAGSTRIPE_NO_CVV("magstripe_no_cvv"), + + @SerializedName("manual") + MANUAL("manual"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("unknown") + UNKNOWN("unknown"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + EntryMode(String value) { + this.value = value; + } + } + + public enum PointOfSaleCondition implements ApiRequestParams.EnumParam { + @SerializedName("account_verification") + ACCOUNT_VERIFICATION("account_verification"), + + @SerializedName("card_not_present") + CARD_NOT_PRESENT("card_not_present"), + + @SerializedName("card_present") + CARD_PRESENT("card_present"), + + @SerializedName("e_commerce") + E_COMMERCE("e_commerce"), + + @SerializedName("key_entered_pos") + KEY_ENTERED_POS("key_entered_pos"), + + @SerializedName("missing") + MISSING("missing"), + + @SerializedName("moto") + MOTO("moto"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("pin_entered") + PIN_ENTERED("pin_entered"), + + @SerializedName("recurring") + RECURRING("recurring"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PointOfSaleCondition(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardDetails { + /** Required. Bank Identification Number (BIN) of the card. */ + @SerializedName("bin") + String bin; + + /** Two-letter ISO country code of the card's issuing bank. */ + @SerializedName("bin_country") + String binCountry; + + /** Required. The type of card (physical or virtual). */ + @SerializedName("card_type") + CardType cardType; + + /** Required. The time when the card was created (Unix timestamp). */ + @SerializedName("created_at") + Long createdAt; + + /** + * 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; + + /** Last 4 digits of the card number. */ + @SerializedName("last4") + String last4; + + /** Required. External reference for the card. */ + @SerializedName("reference") + String reference; + + private CardDetails( + String bin, + String binCountry, + CardType cardType, + Long createdAt, + Map extraParams, + String last4, + String reference) { + this.bin = bin; + this.binCountry = binCountry; + this.cardType = cardType; + this.createdAt = createdAt; + this.extraParams = extraParams; + this.last4 = last4; + this.reference = reference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String bin; + + private String binCountry; + + private CardType cardType; + + private Long createdAt; + + private Map extraParams; + + private String last4; + + private String reference; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.CardDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.CardDetails( + this.bin, + this.binCountry, + this.cardType, + this.createdAt, + this.extraParams, + this.last4, + this.reference); + } + + /** Required. Bank Identification Number (BIN) of the card. */ + public Builder setBin(String bin) { + this.bin = bin; + return this; + } + + /** Two-letter ISO country code of the card's issuing bank. */ + public Builder setBinCountry(String binCountry) { + this.binCountry = binCountry; + return this; + } + + /** Required. The type of card (physical or virtual). */ + public Builder setCardType( + IssuingAuthorizationEvaluationCreateParams.CardDetails.CardType cardType) { + this.cardType = cardType; + return this; + } + + /** Required. The time when the card was created (Unix timestamp). */ + public Builder setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + 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 + * IssuingAuthorizationEvaluationCreateParams.CardDetails#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 IssuingAuthorizationEvaluationCreateParams.CardDetails#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Last 4 digits of the card number. */ + public Builder setLast4(String last4) { + this.last4 = last4; + return this; + } + + /** Required. External reference for the card. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + } + + public enum CardType implements ApiRequestParams.EnumParam { + @SerializedName("physical") + PHYSICAL("physical"), + + @SerializedName("virtual") + VIRTUAL("virtual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CardType(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardholderDetails { + /** The time when the cardholder was created (Unix timestamp). */ + @SerializedName("created_at") + Long createdAt; + + /** + * 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; + + /** External reference for the cardholder. */ + @SerializedName("reference") + String reference; + + private CardholderDetails(Long createdAt, Map extraParams, String reference) { + this.createdAt = createdAt; + this.extraParams = extraParams; + this.reference = reference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long createdAt; + + private Map extraParams; + + private String reference; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.CardholderDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.CardholderDetails( + this.createdAt, this.extraParams, this.reference); + } + + /** The time when the cardholder was created (Unix timestamp). */ + public Builder setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + 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 + * IssuingAuthorizationEvaluationCreateParams.CardholderDetails#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 IssuingAuthorizationEvaluationCreateParams.CardholderDetails#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** External reference for the cardholder. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MerchantDetails { + /** Required. Merchant Category Code (MCC). */ + @SerializedName("category_code") + String categoryCode; + + /** Two-letter ISO country code of the merchant. */ + @SerializedName("country") + String country; + + /** + * 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. Name of the merchant. */ + @SerializedName("name") + String name; + + /** Required. Network merchant identifier. */ + @SerializedName("network_id") + String networkId; + + /** Terminal identifier. */ + @SerializedName("terminal_id") + String terminalId; + + private MerchantDetails( + String categoryCode, + String country, + Map extraParams, + String name, + String networkId, + String terminalId) { + this.categoryCode = categoryCode; + this.country = country; + this.extraParams = extraParams; + this.name = name; + this.networkId = networkId; + this.terminalId = terminalId; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String categoryCode; + + private String country; + + private Map extraParams; + + private String name; + + private String networkId; + + private String terminalId; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.MerchantDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.MerchantDetails( + this.categoryCode, + this.country, + this.extraParams, + this.name, + this.networkId, + this.terminalId); + } + + /** Required. Merchant Category Code (MCC). */ + public Builder setCategoryCode(String categoryCode) { + this.categoryCode = categoryCode; + return this; + } + + /** Two-letter ISO country code of the merchant. */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * IssuingAuthorizationEvaluationCreateParams.MerchantDetails#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 IssuingAuthorizationEvaluationCreateParams.MerchantDetails#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. Name of the merchant. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Required. Network merchant identifier. */ + public Builder setNetworkId(String networkId) { + this.networkId = networkId; + return this; + } + + /** Terminal identifier. */ + public Builder setTerminalId(String terminalId) { + this.terminalId = terminalId; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class NetworkDetails { + /** The acquiring institution identifier. */ + @SerializedName("acquiring_institution_id") + String acquiringInstitutionId; + + /** + * 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 card network that routed the authorization. */ + @SerializedName("routed_network") + RoutedNetwork routedNetwork; + + private NetworkDetails( + String acquiringInstitutionId, + Map extraParams, + RoutedNetwork routedNetwork) { + this.acquiringInstitutionId = acquiringInstitutionId; + this.extraParams = extraParams; + this.routedNetwork = routedNetwork; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String acquiringInstitutionId; + + private Map extraParams; + + private RoutedNetwork routedNetwork; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.NetworkDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.NetworkDetails( + this.acquiringInstitutionId, this.extraParams, this.routedNetwork); + } + + /** The acquiring institution identifier. */ + public Builder setAcquiringInstitutionId(String acquiringInstitutionId) { + this.acquiringInstitutionId = acquiringInstitutionId; + 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 + * IssuingAuthorizationEvaluationCreateParams.NetworkDetails#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 IssuingAuthorizationEvaluationCreateParams.NetworkDetails#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 card network that routed the authorization. */ + public Builder setRoutedNetwork( + IssuingAuthorizationEvaluationCreateParams.NetworkDetails.RoutedNetwork routedNetwork) { + this.routedNetwork = routedNetwork; + return this; + } + } + + public enum RoutedNetwork implements ApiRequestParams.EnumParam { + @SerializedName("cirrus") + CIRRUS("cirrus"), + + @SerializedName("interlink") + INTERLINK("interlink"), + + @SerializedName("maestro") + MAESTRO("maestro"), + + @SerializedName("mastercard") + MASTERCARD("mastercard"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("plus") + PLUS("plus"), + + @SerializedName("visa") + VISA("visa"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RoutedNetwork(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TokenDetails { + /** The time when the token was created (Unix timestamp). */ + @SerializedName("created_at") + Long createdAt; + + /** + * 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; + + /** External reference for the token. */ + @SerializedName("reference") + String reference; + + /** The wallet provider for the tokenized payment method. */ + @SerializedName("wallet") + Wallet wallet; + + private TokenDetails( + Long createdAt, Map extraParams, String reference, Wallet wallet) { + this.createdAt = createdAt; + this.extraParams = extraParams; + this.reference = reference; + this.wallet = wallet; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long createdAt; + + private Map extraParams; + + private String reference; + + private Wallet wallet; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.TokenDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.TokenDetails( + this.createdAt, this.extraParams, this.reference, this.wallet); + } + + /** The time when the token was created (Unix timestamp). */ + public Builder setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + 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 + * IssuingAuthorizationEvaluationCreateParams.TokenDetails#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 IssuingAuthorizationEvaluationCreateParams.TokenDetails#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** External reference for the token. */ + public Builder setReference(String reference) { + this.reference = reference; + return this; + } + + /** The wallet provider for the tokenized payment method. */ + public Builder setWallet( + IssuingAuthorizationEvaluationCreateParams.TokenDetails.Wallet wallet) { + this.wallet = wallet; + return this; + } + } + + public enum Wallet implements ApiRequestParams.EnumParam { + @SerializedName("apple_pay") + APPLE_PAY("apple_pay"), + + @SerializedName("google_pay") + GOOGLE_PAY("google_pay"), + + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Wallet(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class VerificationDetails { + /** + * 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 result of 3D Secure verification. */ + @SerializedName("three_d_secure_result") + ThreeDSecureResult threeDSecureResult; + + private VerificationDetails( + Map extraParams, ThreeDSecureResult threeDSecureResult) { + this.extraParams = extraParams; + this.threeDSecureResult = threeDSecureResult; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ThreeDSecureResult threeDSecureResult; + + /** Finalize and obtain parameter instance from this builder. */ + public IssuingAuthorizationEvaluationCreateParams.VerificationDetails build() { + return new IssuingAuthorizationEvaluationCreateParams.VerificationDetails( + this.extraParams, this.threeDSecureResult); + } + + /** + * 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 + * IssuingAuthorizationEvaluationCreateParams.VerificationDetails#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 IssuingAuthorizationEvaluationCreateParams.VerificationDetails#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 result of 3D Secure verification. */ + public Builder setThreeDSecureResult( + IssuingAuthorizationEvaluationCreateParams.VerificationDetails.ThreeDSecureResult + threeDSecureResult) { + this.threeDSecureResult = threeDSecureResult; + return this; + } + } + + public enum ThreeDSecureResult implements ApiRequestParams.EnumParam { + @SerializedName("attempt_acknowledged") + ATTEMPT_ACKNOWLEDGED("attempt_acknowledged"), + + @SerializedName("authenticated") + AUTHENTICATED("authenticated"), + + @SerializedName("exempted") + EXEMPTED("exempted"), + + @SerializedName("failed") + FAILED("failed"), + + @SerializedName("required") + REQUIRED("required"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ThreeDSecureResult(String value) { + this.value = value; + } + } + } +} diff --git a/src/main/java/com/stripe/service/RadarService.java b/src/main/java/com/stripe/service/RadarService.java index 21a1596c52e..f206c140487 100644 --- a/src/main/java/com/stripe/service/RadarService.java +++ b/src/main/java/com/stripe/service/RadarService.java @@ -17,6 +17,12 @@ public com.stripe.service.radar.EarlyFraudWarningService earlyFraudWarnings() { return new com.stripe.service.radar.EarlyFraudWarningService(this.getResponseGetter()); } + public com.stripe.service.radar.IssuingAuthorizationEvaluationService + issuingAuthorizationEvaluations() { + return new com.stripe.service.radar.IssuingAuthorizationEvaluationService( + this.getResponseGetter()); + } + public com.stripe.service.radar.PaymentEvaluationService paymentEvaluations() { return new com.stripe.service.radar.PaymentEvaluationService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/service/radar/IssuingAuthorizationEvaluationService.java b/src/main/java/com/stripe/service/radar/IssuingAuthorizationEvaluationService.java new file mode 100644 index 00000000000..354108e440a --- /dev/null +++ b/src/main/java/com/stripe/service/radar/IssuingAuthorizationEvaluationService.java @@ -0,0 +1,39 @@ +// File generated from our OpenAPI spec +package com.stripe.service.radar; + +import com.stripe.exception.StripeException; +import com.stripe.model.radar.IssuingAuthorizationEvaluation; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.radar.IssuingAuthorizationEvaluationCreateParams; + +public final class IssuingAuthorizationEvaluationService extends ApiService { + public IssuingAuthorizationEvaluationService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Request a fraud risk assessment from Stripe for an Issuing card authorization. */ + public IssuingAuthorizationEvaluation create(IssuingAuthorizationEvaluationCreateParams params) + throws StripeException { + return create(params, (RequestOptions) null); + } + /** Request a fraud risk assessment from Stripe for an Issuing card authorization. */ + public IssuingAuthorizationEvaluation create( + IssuingAuthorizationEvaluationCreateParams params, RequestOptions options) + throws StripeException { + String path = "/v1/radar/issuing_authorization_evaluations"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, IssuingAuthorizationEvaluation.class); + } +} From 1b96b4c439eb61db365a77168a07d1acf4006d77 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 00:16:23 +0000 Subject: [PATCH 2/3] Update generated code for v2190 and --- CODEGEN_VERSION | 2 +- ...rdCreatorCapabilityStatusUpdatedEvent.java | 8 +- .../com/stripe/model/v2/billing/Cadence.java | 2 +- .../model/v2/billing/CollectionSetting.java | 2 +- .../v2/billing/CollectionSettingVersion.java | 2 +- .../stripe/model/v2/billing/IntentAction.java | 3 +- .../stripe/model/v2/billing/LicenseFee.java | 2 +- .../model/v2/billing/LicenseFeeVersion.java | 2 +- .../stripe/model/v2/billing/RateCardRate.java | 2 +- .../com/stripe/model/v2/core/Account.java | 1396 +- .../stripe/model/v2/reporting/ReportRun.java | 2 +- .../CollectionSettingCreateParams.java | 8 +- .../CollectionSettingUpdateParams.java | 14 +- .../param/v2/billing/IntentCreateParams.java | 3 + .../v2/billing/LicenseFeeCreateParams.java | 8 +- .../v2/billing/LicenseFeeUpdateParams.java | 14 +- .../billing/ratecards/RateCreateParams.java | 8 +- .../param/v2/core/AccountCreateParams.java | 25545 +++++++++------- .../param/v2/core/AccountUpdateParams.java | 23007 ++++++++------ .../OffSessionPaymentCreateParams.java | 539 +- .../stripe/functional/GeneratedExamples.java | 1 - 21 files changed, 30792 insertions(+), 19778 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 1af0fcf6364..08298032c91 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -a755a650e09106e1f7fd54f785abe84041e0c070 \ No newline at end of file +ca2c688052c7535c51858606efdc6855b0c1f6a9 \ No newline at end of file diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java index 56a8f7d3136..526e20763eb 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java @@ -23,9 +23,11 @@ public static final class EventData { * Open Enum. The capability which had its status updated. * *

One of {@code commercial.celtic.charge_card}, {@code commercial.celtic.spend_card}, {@code - * commercial.cross_river_bank.charge_card}, {@code commercial.cross_river_bank.spend_card}, - * {@code commercial.lead.prepaid_card}, {@code commercial.stripe.charge_card}, or {@code - * commercial.stripe.prepaid_card}. + * commercial.cross_river_bank.charge_card}, {@code commercial.cross_river_bank.prepaid_card}, + * {@code commercial.cross_river_bank.spend_card}, {@code commercial.fifth_third.charge_card}, + * {@code commercial.lead.prepaid_card}, {@code commercial.stripe.charge_card}, {@code + * commercial.stripe.prepaid_card}, {@code consumer.celtic.revolving_credit_card}, {@code + * consumer.cross_river_bank.prepaid_card}, or {@code consumer.lead.prepaid_card}. */ @SerializedName("updated_capability") String updatedCapability; diff --git a/src/main/java/com/stripe/model/v2/billing/Cadence.java b/src/main/java/com/stripe/model/v2/billing/Cadence.java index e8f03b548c4..1f6ba932a67 100644 --- a/src/main/java/com/stripe/model/v2/billing/Cadence.java +++ b/src/main/java/com/stripe/model/v2/billing/Cadence.java @@ -722,7 +722,7 @@ public static class Card extends StripeObject { public static class MandateOptions extends StripeObject { /** Amount to be charged for future payments. */ @SerializedName("amount") - Long amount; + String amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") diff --git a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java index 4a9be6c5836..bc0e1db4e6b 100644 --- a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java +++ b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java @@ -247,7 +247,7 @@ public static class Card extends StripeObject { public static class MandateOptions extends StripeObject { /** Amount to be charged for future payments. */ @SerializedName("amount") - Long amount; + String amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") diff --git a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java index fb3cbd49a15..c552cd14588 100644 --- a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java +++ b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java @@ -226,7 +226,7 @@ public static class Card extends StripeObject { public static class MandateOptions extends StripeObject { /** Amount to be charged for future payments. */ @SerializedName("amount") - Long amount; + String amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") diff --git a/src/main/java/com/stripe/model/v2/billing/IntentAction.java b/src/main/java/com/stripe/model/v2/billing/IntentAction.java index 43689e0361c..b45198b52e4 100644 --- a/src/main/java/com/stripe/model/v2/billing/IntentAction.java +++ b/src/main/java/com/stripe/model/v2/billing/IntentAction.java @@ -108,7 +108,8 @@ public static class EffectiveAt extends StripeObject { /** * When the apply action will take effect. * - *

One of {@code current_billing_period_end}, or {@code on_reserve}. + *

One of {@code current_billing_period_end}, {@code next_billing_period_start}, or {@code + * on_reserve}. */ @SerializedName("type") String type; diff --git a/src/main/java/com/stripe/model/v2/billing/LicenseFee.java b/src/main/java/com/stripe/model/v2/billing/LicenseFee.java index 41c8f5f1616..b640e8e94ac 100644 --- a/src/main/java/com/stripe/model/v2/billing/LicenseFee.java +++ b/src/main/java/com/stripe/model/v2/billing/LicenseFee.java @@ -196,7 +196,7 @@ public static class Tier extends StripeObject { public static class TransformQuantity extends StripeObject { /** Divide usage by this number. */ @SerializedName("divide_by") - Long divideBy; + String divideBy; /** * After division, round the result up or down. diff --git a/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java b/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java index 57c5b10de47..5cd3c7d0d2a 100644 --- a/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java +++ b/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java @@ -124,7 +124,7 @@ public static class Tier extends StripeObject { public static class TransformQuantity extends StripeObject { /** Divide usage by this number. */ @SerializedName("divide_by") - Long divideBy; + String divideBy; /** * After division, round the result up or down. diff --git a/src/main/java/com/stripe/model/v2/billing/RateCardRate.java b/src/main/java/com/stripe/model/v2/billing/RateCardRate.java index baa5841cdaa..10e15c1a8ce 100644 --- a/src/main/java/com/stripe/model/v2/billing/RateCardRate.java +++ b/src/main/java/com/stripe/model/v2/billing/RateCardRate.java @@ -167,7 +167,7 @@ public static class Tier extends StripeObject { public static class TransformQuantity extends StripeObject { /** Divide usage by this number. */ @SerializedName("divide_by") - Long divideBy; + String divideBy; /** * After division, round the result up or down. diff --git a/src/main/java/com/stripe/model/v2/core/Account.java b/src/main/java/com/stripe/model/v2/core/Account.java index 2c34352cc30..150007c9f63 100644 --- a/src/main/java/com/stripe/model/v2/core/Account.java +++ b/src/main/java/com/stripe/model/v2/core/Account.java @@ -193,6 +193,10 @@ public static class Capabilities extends StripeObject { @SerializedName("commercial") Commercial commercial; + /** Can create cards for consumer issuing use cases. */ + @SerializedName("consumer") + Consumer consumer; + /** Can create cards for commercial issuing use cases. */ @Getter @Setter @@ -206,6 +210,10 @@ public static class Commercial extends StripeObject { @SerializedName("cross_river_bank") CrossRiverBank crossRiverBank; + /** Can create commercial issuing cards with Fifth Third as a BIN sponsor. */ + @SerializedName("fifth_third") + FifthThird fifthThird; + /** Can create commercial issuing cards with Lead as a BIN sponsor. */ @SerializedName("lead") Lead lead; @@ -345,6 +353,10 @@ public static class CrossRiverBank extends StripeObject { @SerializedName("charge_card") ChargeCard chargeCard; + /** Can create commercial issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ @SerializedName("spend_card") SpendCard spendCard; @@ -403,6 +415,60 @@ public static class StatusDetail extends StripeObject { } } + /** Can create commercial issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard extends StripeObject { + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank + .PrepaidCard.StatusDetail> + statusDetails; + + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { + /** + * Machine-readable code explaining the reason for the Capability to be in its + * current status. + * + *

One of {@code determining_status}, {@code requirements_past_due}, {@code + * requirements_pending_verification}, {@code restricted_other}, {@code + * unsupported_business}, {@code unsupported_country}, or {@code + * unsupported_entity_type}. + */ + @SerializedName("code") + String code; + + /** + * Machine-readable code explaining how to make the Capability active. + * + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ @Getter @Setter @@ -458,6 +524,70 @@ public static class StatusDetail extends StripeObject { } } + /** Can create commercial issuing cards with Fifth Third as a BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FifthThird extends StripeObject { + /** Can create commercial issuing charge cards with Fifth Third Bank as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** Can create commercial issuing charge cards with Fifth Third Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard extends StripeObject { + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.CardCreator.Capabilities.Commercial.FifthThird + .ChargeCard.StatusDetail> + statusDetails; + + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { + /** + * Machine-readable code explaining the reason for the Capability to be in its + * current status. + * + *

One of {@code determining_status}, {@code requirements_past_due}, {@code + * requirements_pending_verification}, {@code restricted_other}, {@code + * unsupported_business}, {@code unsupported_country}, or {@code + * unsupported_entity_type}. + */ + @SerializedName("code") + String code; + + /** + * Machine-readable code explaining how to make the Capability active. + * + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } + /** Can create commercial issuing cards with Lead as a BIN sponsor. */ @Getter @Setter @@ -650,87 +780,297 @@ public static class StatusDetail extends StripeObject { } } } - } - } - /** The Customer Configuration allows the Account to be used in inbound payment flows. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Customer extends StripeObject { - /** - * Indicates whether the customer configuration is active. You can deactivate or reactivate - * the customer configuration by updating this property. Deactivating the configuration by - * setting this value to false will unrequest all capabilities within the configuration. It - * will not delete any of the configuration's other properties. - */ - @SerializedName("applied") - Boolean applied; + /** Can create cards for consumer issuing use cases. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Consumer extends StripeObject { + /** Can create consumer issuing cards with Celtic as BIN sponsor. */ + @SerializedName("celtic") + Celtic celtic; - /** - * Settings for automatic indirect tax calculation on the customer's invoices, subscriptions, - * Checkout Sessions, and Payment Links. Available when automatic tax calculation is available - * for the customer account's location. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; + /** Can create consumer issuing cards with Cross River Bank as BIN sponsor. */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; - /** Default Billing settings for the customer account, used in Invoices and Subscriptions. */ - @SerializedName("billing") - Billing billing; + /** Can create consumer issuing cards with Lead as BIN sponsor. */ + @SerializedName("lead") + Lead lead; - /** Capabilities that have been requested on the Customer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + /** Can create consumer issuing cards with Celtic as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Celtic extends StripeObject { + /** Can create consumer issuing charge cards with Celtic as BIN sponsor. */ + @SerializedName("revolving_credit_card") + RevolvingCreditCard revolvingCreditCard; - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - @SerializedName("shipping") - Shipping shipping; + /** Can create consumer issuing charge cards with Celtic as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RevolvingCreditCard extends StripeObject { + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - @SerializedName("test_clock") - String testClock; + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.CardCreator.Capabilities.Consumer.Celtic + .RevolvingCreditCard.StatusDetail> + statusDetails; - /** - * Settings for automatic indirect tax calculation on the customer's invoices, subscriptions, - * Checkout Sessions, and Payment Links. Available when automatic tax calculation is available - * for the customer account's location. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax extends StripeObject { - /** - * The customer account's tax exemption status: {@code none}, {@code exempt}, or {@code - * reverse}. When {@code reverse}, invoice and receipt PDFs include "Reverse - * charge". - * - *

One of {@code exempt}, {@code none}, or {@code reverse}. - */ - @SerializedName("exempt") - String exempt; + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { + /** + * Machine-readable code explaining the reason for the Capability to be in its + * current status. + * + *

One of {@code determining_status}, {@code requirements_past_due}, {@code + * requirements_pending_verification}, {@code restricted_other}, {@code + * unsupported_business}, {@code unsupported_country}, or {@code + * unsupported_entity_type}. + */ + @SerializedName("code") + String code; - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - @SerializedName("ip_address") - String ipAddress; + /** + * Machine-readable code explaining how to make the Capability active. + * + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } - /** - * The customer account's identified tax location, derived from {@code location_source}. - * Only rendered if the {@code automatic_indirect_tax} feature is requested and {@code - * active}. - */ - @SerializedName("location") - Location location; + /** Can create consumer issuing cards with Cross River Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank extends StripeObject { + /** Can create consumer issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - /** - * Data source used to identify the customer account's tax location. Defaults to {@code - * identity_address}. Used for automatic indirect tax calculation. - * + /** Can create consumer issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard extends StripeObject { + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank + .PrepaidCard.StatusDetail> + statusDetails; + + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { + /** + * Machine-readable code explaining the reason for the Capability to be in its + * current status. + * + *

One of {@code determining_status}, {@code requirements_past_due}, {@code + * requirements_pending_verification}, {@code restricted_other}, {@code + * unsupported_business}, {@code unsupported_country}, or {@code + * unsupported_entity_type}. + */ + @SerializedName("code") + String code; + + /** + * Machine-readable code explaining how to make the Capability active. + * + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } + + /** Can create consumer issuing cards with Lead as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Lead extends StripeObject { + /** Can create consumer issuing prepaid cards with Lead as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + /** Can create consumer issuing prepaid cards with Lead as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard extends StripeObject { + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.CardCreator.Capabilities.Consumer.Lead.PrepaidCard + .StatusDetail> + statusDetails; + + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { + /** + * Machine-readable code explaining the reason for the Capability to be in its + * current status. + * + *

One of {@code determining_status}, {@code requirements_past_due}, {@code + * requirements_pending_verification}, {@code restricted_other}, {@code + * unsupported_business}, {@code unsupported_country}, or {@code + * unsupported_entity_type}. + */ + @SerializedName("code") + String code; + + /** + * Machine-readable code explaining how to make the Capability active. + * + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } + } + } + } + + /** The Customer Configuration allows the Account to be used in inbound payment flows. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Customer extends StripeObject { + /** + * Indicates whether the customer configuration is active. You can deactivate or reactivate + * the customer configuration by updating this property. Deactivating the configuration by + * setting this value to false will unrequest all capabilities within the configuration. It + * will not delete any of the configuration's other properties. + */ + @SerializedName("applied") + Boolean applied; + + /** + * Settings for automatic indirect tax calculation on the customer's invoices, subscriptions, + * Checkout Sessions, and Payment Links. Available when automatic tax calculation is available + * for the customer account's location. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; + + /** Default Billing settings for the customer account, used in Invoices and Subscriptions. */ + @SerializedName("billing") + Billing billing; + + /** Capabilities that have been requested on the Customer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + @SerializedName("shipping") + Shipping shipping; + + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + @SerializedName("test_clock") + String testClock; + + /** + * Settings for automatic indirect tax calculation on the customer's invoices, subscriptions, + * Checkout Sessions, and Payment Links. Available when automatic tax calculation is available + * for the customer account's location. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax extends StripeObject { + /** + * The customer account's tax exemption status: {@code none}, {@code exempt}, or {@code + * reverse}. When {@code reverse}, invoice and receipt PDFs include "Reverse + * charge". + * + *

One of {@code exempt}, {@code none}, or {@code reverse}. + */ + @SerializedName("exempt") + String exempt; + + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + @SerializedName("ip_address") + String ipAddress; + + /** + * The customer account's identified tax location, derived from {@code location_source}. + * Only rendered if the {@code automatic_indirect_tax} feature is requested and {@code + * active}. + */ + @SerializedName("location") + Location location; + + /** + * Data source used to identify the customer account's tax location. Defaults to {@code + * identity_address}. Used for automatic indirect tax calculation. + * *

One of {@code identity_address}, {@code ip_address}, {@code payment_method}, or {@code * shipping_address}. */ @@ -5738,9 +6078,12 @@ public static class RestrictsCapability extends StripeObject { * cartes_bancaires_payments}, {@code cashapp_payments}, {@code * commercial.celtic.charge_card}, {@code commercial.celtic.spend_card}, {@code * commercial.cross_river_bank.charge_card}, {@code - * commercial.cross_river_bank.spend_card}, {@code commercial.lead.prepaid_card}, {@code - * commercial.stripe.charge_card}, {@code commercial.stripe.prepaid_card}, {@code - * consumer.holds_currencies.usd}, {@code crypto}, {@code eps_payments}, {@code + * commercial.cross_river_bank.prepaid_card}, {@code + * commercial.cross_river_bank.spend_card}, {@code commercial.fifth_third.charge_card}, + * {@code commercial.lead.prepaid_card}, {@code commercial.stripe.charge_card}, {@code + * commercial.stripe.prepaid_card}, {@code consumer.celtic.revolving_credit_card}, {@code + * consumer.cross_river_bank.prepaid_card}, {@code consumer.holds_currencies.usd}, {@code + * consumer.lead.prepaid_card}, {@code crypto}, {@code eps_payments}, {@code * financial_addresses.bank_accounts}, {@code fpx_payments}, {@code * gb_bank_transfer_payments}, {@code grabpay_payments}, {@code holds_currencies.eur}, * {@code holds_currencies.gbp}, {@code holds_currencies.usd}, {@code ideal_payments}, @@ -6114,6 +6457,10 @@ public static class CardCreator extends StripeObject { @SerializedName("commercial") Commercial commercial; + /** Terms of service acceptances to create cards for consumer issuing use cases. */ + @SerializedName("consumer") + Consumer consumer; + /** Terms of service acceptances to create cards for commercial issuing use cases. */ @Getter @Setter @@ -6136,6 +6483,13 @@ public static class Commercial extends StripeObject { @SerializedName("cross_river_bank") CrossRiverBank crossRiverBank; + /** + * Terms of service acceptances for commercial issuing cards with Fifth Third as BIN + * sponsor. + */ + @SerializedName("fifth_third") + FifthThird fifthThird; + /** Terms of service acceptances for Stripe commercial card Global issuing. */ @SerializedName("global_account_holder") GlobalAccountHolder globalAccountHolder; @@ -6492,6 +6846,13 @@ public static class CrossRiverBank extends StripeObject { @SerializedName("charge_card") ChargeCard chargeCard; + /** + * Terms of service acceptances for commercial issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + /** * Terms of service acceptances for commercial issuing spend cards with Cross River * Bank as BIN sponsor. @@ -6670,30 +7031,30 @@ public static class Platform extends StripeObject { } /** - * Terms of service acceptances for commercial issuing spend cards with Cross River + * Terms of service acceptances for commercial issuing prepaid cards with Cross River * Bank as BIN sponsor. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class SpendCard extends StripeObject { + public static class PrepaidCard extends StripeObject { /** - * Bank terms of service acceptance for commercial issuing spend cards with Cross - * River Bank as BIN sponsor. + * Bank terms of service acceptance for commercial Global issuing prepaid cards with + * Cross River Bank as BIN sponsor. */ @SerializedName("bank_terms") BankTerms bankTerms; /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Cross River Bank as BIN sponsor. + * Platform terms of service acceptance for commercial Global issuing prepaid cards + * with Cross River Bank as BIN sponsor. */ - @SerializedName("financing_disclosures") - FinancingDisclosures financingDisclosures; + @SerializedName("platform") + Platform platform; /** - * Bank terms of service acceptance for commercial issuing spend cards with Cross - * River Bank as BIN sponsor. + * Bank terms of service acceptance for commercial Global issuing prepaid cards with + * Cross River Bank as BIN sponsor. */ @Getter @Setter @@ -6727,13 +7088,13 @@ public static class BankTerms extends StripeObject { } /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Cross River Bank as BIN sponsor. + * Platform terms of service acceptance for commercial Global issuing prepaid cards + * with Cross River Bank as BIN sponsor. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class FinancingDisclosures extends StripeObject { + public static class Platform extends StripeObject { /** * The time when the Account's representative accepted the terms of service. * Represented as a RFC 3339 date & time UTC value in millisecond precision, @@ -6761,27 +7122,213 @@ public static class FinancingDisclosures extends StripeObject { String userAgent; } } - } - /** Terms of service acceptances for Stripe commercial card Global issuing. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class GlobalAccountHolder extends StripeObject { /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, for - * example: 2022-09-18T13:22:18.123Z. + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. */ - @SerializedName("date") - java.time.Instant date; + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - /** - * The IP address from which the Account's representative accepted the terms of - * service. - */ - @SerializedName("ip") - String ip; + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + } + + /** + * Terms of service acceptances for commercial issuing cards with Fifth Third as BIN + * sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FifthThird extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GlobalAccountHolder extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; /** The URL to the service agreement the Account's representative accepted. */ @SerializedName("url") @@ -6945,6 +7492,638 @@ public static class Platform extends StripeObject { } } } + + /** Terms of service acceptances to create cards for consumer issuing use cases. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Consumer extends StripeObject { + /** Terms of service acceptances for Stripe commercial card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") + Celtic celtic; + + /** + * Terms of service acceptances for consumer issuing cards with Cross River Bank as BIN + * sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; + + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + @SerializedName("global_account_holder") + GlobalAccountHolder globalAccountHolder; + + /** + * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. + */ + @SerializedName("lead") + Lead lead; + + /** Terms of service acceptances for Stripe commercial card issuing. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Celtic extends StripeObject { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing revolving credit cards with + * Celtic as BIN sponsor. + */ + @SerializedName("revolving_credit_card") + RevolvingCreditCard revolvingCreditCard; + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing revolving credit cards with + * Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RevolvingCreditCard extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + } + + /** + * Terms of service acceptances for consumer issuing cards with Cross River Bank as BIN + * sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank extends StripeObject { + /** + * Terms of service acceptances for consumer issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + /** + * Terms of service acceptances for consumer issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard extends StripeObject { + /** + * Bank terms of service acceptance for consumer issuing prepaid cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for consumer issuing prepaid cards with Cross + * River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Cross River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + } + + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GlobalAccountHolder extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Lead extends StripeObject { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing revolving credit cards with + * Lead as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as + * BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing revolving credit cards with + * Lead as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard extends StripeObject { + /** + * Bank terms of service acceptance for consumer issuing prepaid cards with Lead as + * BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Lead as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with Lead + * as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for consumer issuing prepaid cards with Lead as + * BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Lead as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with Lead + * as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + } + } } /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ @@ -8630,9 +9809,12 @@ public static class RestrictsCapability extends StripeObject { * cartes_bancaires_payments}, {@code cashapp_payments}, {@code * commercial.celtic.charge_card}, {@code commercial.celtic.spend_card}, {@code * commercial.cross_river_bank.charge_card}, {@code - * commercial.cross_river_bank.spend_card}, {@code commercial.lead.prepaid_card}, {@code - * commercial.stripe.charge_card}, {@code commercial.stripe.prepaid_card}, {@code - * consumer.holds_currencies.usd}, {@code crypto}, {@code eps_payments}, {@code + * commercial.cross_river_bank.prepaid_card}, {@code + * commercial.cross_river_bank.spend_card}, {@code commercial.fifth_third.charge_card}, + * {@code commercial.lead.prepaid_card}, {@code commercial.stripe.charge_card}, {@code + * commercial.stripe.prepaid_card}, {@code consumer.celtic.revolving_credit_card}, {@code + * consumer.cross_river_bank.prepaid_card}, {@code consumer.holds_currencies.usd}, {@code + * consumer.lead.prepaid_card}, {@code crypto}, {@code eps_payments}, {@code * financial_addresses.bank_accounts}, {@code fpx_payments}, {@code * gb_bank_transfer_payments}, {@code grabpay_payments}, {@code holds_currencies.eur}, * {@code holds_currencies.gbp}, {@code holds_currencies.usd}, {@code ideal_payments}, diff --git a/src/main/java/com/stripe/model/v2/reporting/ReportRun.java b/src/main/java/com/stripe/model/v2/reporting/ReportRun.java index cd086c1cce2..cecff97d133 100644 --- a/src/main/java/com/stripe/model/v2/reporting/ReportRun.java +++ b/src/main/java/com/stripe/model/v2/reporting/ReportRun.java @@ -122,7 +122,7 @@ public static class File extends StripeObject { /** The total size of the file in bytes. */ @SerializedName("size") - Long size; + String size; /** A pre-signed URL that allows secure, time-limited access to download the file. */ @Getter diff --git a/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java b/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java index a4ae606600f..97665a1394b 100644 --- a/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java @@ -1016,7 +1016,7 @@ public Builder setRequestThreeDSecure( public static class MandateOptions { /** Amount to be charged for future payments. */ @SerializedName("amount") - Long amount; + String amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") @@ -1037,7 +1037,7 @@ public static class MandateOptions { Map extraParams; private MandateOptions( - Long amount, + String amount, AmountType amountType, String description, Map extraParams) { @@ -1052,7 +1052,7 @@ public static Builder builder() { } public static class Builder { - private Long amount; + private String amount; private AmountType amountType; @@ -1067,7 +1067,7 @@ public CollectionSettingCreateParams.PaymentMethodOptions.Card.MandateOptions bu } /** Amount to be charged for future payments. */ - public Builder setAmount(Long amount) { + public Builder setAmount(String amount) { this.amount = amount; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java b/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java index b4eb433b47e..5c212d4c4f2 100644 --- a/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java @@ -1088,7 +1088,7 @@ public Builder setRequestThreeDSecure( public static class MandateOptions { /** Amount to be charged for future payments. */ @SerializedName("amount") - Long amount; + Object amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") @@ -1109,7 +1109,7 @@ public static class MandateOptions { Map extraParams; private MandateOptions( - Long amount, + Object amount, AmountType amountType, Object description, Map extraParams) { @@ -1124,7 +1124,7 @@ public static Builder builder() { } public static class Builder { - private Long amount; + private Object amount; private AmountType amountType; @@ -1139,7 +1139,13 @@ public CollectionSettingUpdateParams.PaymentMethodOptions.Card.MandateOptions bu } /** Amount to be charged for future payments. */ - public Builder setAmount(Long amount) { + public Builder setAmount(String amount) { + this.amount = amount; + return this; + } + + /** Amount to be charged for future payments. */ + public Builder setAmount(EmptyParam amount) { this.amount = amount; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/IntentCreateParams.java b/src/main/java/com/stripe/param/v2/billing/IntentCreateParams.java index 259926e2b9c..975bc82827e 100644 --- a/src/main/java/com/stripe/param/v2/billing/IntentCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/IntentCreateParams.java @@ -495,6 +495,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("current_billing_period_end") CURRENT_BILLING_PERIOD_END("current_billing_period_end"), + @SerializedName("next_billing_period_start") + NEXT_BILLING_PERIOD_START("next_billing_period_start"), + @SerializedName("on_reserve") ON_RESERVE("on_reserve"); diff --git a/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java b/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java index beb736e8731..c66d9a46d1d 100644 --- a/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java @@ -516,7 +516,7 @@ public enum UpToInf implements ApiRequestParams.EnumParam { public static class TransformQuantity { /** Required. Divide usage by this number. */ @SerializedName("divide_by") - Long divideBy; + String divideBy; /** * Map of extra parameters for custom features not available in this client library. The content @@ -531,7 +531,7 @@ public static class TransformQuantity { @SerializedName("round") Round round; - private TransformQuantity(Long divideBy, Map extraParams, Round round) { + private TransformQuantity(String divideBy, Map extraParams, Round round) { this.divideBy = divideBy; this.extraParams = extraParams; this.round = round; @@ -542,7 +542,7 @@ public static Builder builder() { } public static class Builder { - private Long divideBy; + private String divideBy; private Map extraParams; @@ -555,7 +555,7 @@ public LicenseFeeCreateParams.TransformQuantity build() { } /** Required. Divide usage by this number. */ - public Builder setDivideBy(Long divideBy) { + public Builder setDivideBy(String divideBy) { this.divideBy = divideBy; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java b/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java index 83a356b9d73..427e0fdd9c9 100644 --- a/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java @@ -511,7 +511,7 @@ public enum UpToInf implements ApiRequestParams.EnumParam { public static class TransformQuantity { /** Required. Divide usage by this number. */ @SerializedName("divide_by") - Long divideBy; + Object divideBy; /** * Map of extra parameters for custom features not available in this client library. The content @@ -526,7 +526,7 @@ public static class TransformQuantity { @SerializedName("round") Round round; - private TransformQuantity(Long divideBy, Map extraParams, Round round) { + private TransformQuantity(Object divideBy, Map extraParams, Round round) { this.divideBy = divideBy; this.extraParams = extraParams; this.round = round; @@ -537,7 +537,7 @@ public static Builder builder() { } public static class Builder { - private Long divideBy; + private Object divideBy; private Map extraParams; @@ -550,7 +550,13 @@ public LicenseFeeUpdateParams.TransformQuantity build() { } /** Required. Divide usage by this number. */ - public Builder setDivideBy(Long divideBy) { + public Builder setDivideBy(String divideBy) { + this.divideBy = divideBy; + return this; + } + + /** Required. Divide usage by this number. */ + public Builder setDivideBy(EmptyParam divideBy) { this.divideBy = divideBy; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java b/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java index df85b03f099..3c273b2ee78 100644 --- a/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java @@ -488,7 +488,7 @@ public enum UpToInf implements ApiRequestParams.EnumParam { public static class TransformQuantity { /** Required. Divide usage by this number. */ @SerializedName("divide_by") - Long divideBy; + String divideBy; /** * Map of extra parameters for custom features not available in this client library. The content @@ -503,7 +503,7 @@ public static class TransformQuantity { @SerializedName("round") Round round; - private TransformQuantity(Long divideBy, Map extraParams, Round round) { + private TransformQuantity(String divideBy, Map extraParams, Round round) { this.divideBy = divideBy; this.extraParams = extraParams; this.round = round; @@ -514,7 +514,7 @@ public static Builder builder() { } public static class Builder { - private Long divideBy; + private String divideBy; private Map extraParams; @@ -526,7 +526,7 @@ public RateCreateParams.TransformQuantity build() { } /** Required. Divide usage by this number. */ - public Builder setDivideBy(Long divideBy) { + public Builder setDivideBy(String divideBy) { this.divideBy = divideBy; return this; } diff --git a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java index b974c16382b..698cbe234e6 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java @@ -521,6 +521,10 @@ public static class Capabilities { @SerializedName("commercial") Commercial commercial; + /** Can create cards for consumer issuing use cases. */ + @SerializedName("consumer") + Consumer consumer; + /** * 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. @@ -531,8 +535,10 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Capabilities(Commercial commercial, Map extraParams) { + private Capabilities( + Commercial commercial, Consumer consumer, Map extraParams) { this.commercial = commercial; + this.consumer = consumer; this.extraParams = extraParams; } @@ -543,12 +549,14 @@ public static Builder builder() { public static class Builder { private Commercial commercial; + private Consumer consumer; + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Configuration.CardCreator.Capabilities build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities( - this.commercial, this.extraParams); + this.commercial, this.consumer, this.extraParams); } /** Can create cards for commercial issuing use cases. */ @@ -558,6 +566,13 @@ public Builder setCommercial( return this; } + /** Can create cards for consumer issuing use cases. */ + public Builder setConsumer( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer consumer) { + this.consumer = consumer; + 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 @@ -608,6 +623,10 @@ public static class Commercial { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Can create commercial issuing cards with Fifth Third as BIN sponsor. */ + @SerializedName("fifth_third") + FifthThird fifthThird; + /** Can create commercial issuing cards with Stripe as BIN sponsor. */ @SerializedName("lead") Lead lead; @@ -620,11 +639,13 @@ private Commercial( Celtic celtic, CrossRiverBank crossRiverBank, Map extraParams, + FifthThird fifthThird, Lead lead, Stripe stripe) { this.celtic = celtic; this.crossRiverBank = crossRiverBank; this.extraParams = extraParams; + this.fifthThird = fifthThird; this.lead = lead; this.stripe = stripe; } @@ -640,6 +661,8 @@ public static class Builder { private Map extraParams; + private FifthThird fifthThird; + private Lead lead; private Stripe stripe; @@ -647,7 +670,12 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial( - this.celtic, this.crossRiverBank, this.extraParams, this.lead, this.stripe); + this.celtic, + this.crossRiverBank, + this.extraParams, + this.fifthThird, + this.lead, + this.stripe); } /** Can create commercial issuing cards with Celtic as BIN sponsor. */ @@ -696,6 +724,14 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Can create commercial issuing cards with Fifth Third as BIN sponsor. */ + public Builder setFifthThird( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird + fifthThird) { + this.fifthThird = fifthThird; + return this; + } + /** Can create commercial issuing cards with Stripe as BIN sponsor. */ public Builder setLead( AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead lead) { @@ -991,14 +1027,22 @@ public static class CrossRiverBank { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Can create commercial issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ @SerializedName("spend_card") SpendCard spendCard; private CrossRiverBank( - ChargeCard chargeCard, Map extraParams, SpendCard spendCard) { + ChargeCard chargeCard, + Map extraParams, + PrepaidCard prepaidCard, + SpendCard spendCard) { this.chargeCard = chargeCard; this.extraParams = extraParams; + this.prepaidCard = prepaidCard; this.spendCard = spendCard; } @@ -1011,6 +1055,8 @@ public static class Builder { private Map extraParams; + private PrepaidCard prepaidCard; + private SpendCard spendCard; /** Finalize and obtain parameter instance from this builder. */ @@ -1018,7 +1064,8 @@ public static class Builder { .CrossRiverBank build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .CrossRiverBank(this.chargeCard, this.extraParams, this.spendCard); + .CrossRiverBank( + this.chargeCard, this.extraParams, this.prepaidCard, this.spendCard); } /** @@ -1062,6 +1109,17 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Can create commercial issuing prepaid cards with Cross River Bank as BIN sponsor. + */ + public Builder setPrepaidCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ public Builder setSpendCard( AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial @@ -1157,7 +1215,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SpendCard { + public static class PrepaidCard { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -1175,7 +1233,7 @@ public static class SpendCard { @SerializedName("requested") Boolean requested; - private SpendCard(Map extraParams, Boolean requested) { + private PrepaidCard(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -1191,17 +1249,17 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .CrossRiverBank.SpendCard + .CrossRiverBank.PrepaidCard build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .CrossRiverBank.SpendCard(this.extraParams, this.requested); + .CrossRiverBank.PrepaidCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1216,7 +1274,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1237,89 +1295,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Lead { - /** - * 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; - - /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ - @SerializedName("prepaid_card") - PrepaidCard prepaidCard; - - private Lead(Map extraParams, PrepaidCard prepaidCard) { - this.extraParams = extraParams; - this.prepaidCard = prepaidCard; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private PrepaidCard prepaidCard; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead - build() { - return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .Lead(this.extraParams, this.prepaidCard); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ - public Builder setPrepaidCard( - AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead - .PrepaidCard - prepaidCard) { - this.prepaidCard = prepaidCard; - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class PrepaidCard { + public static class SpendCard { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -1337,7 +1316,7 @@ public static class PrepaidCard { @SerializedName("requested") Boolean requested; - private PrepaidCard(Map extraParams, Boolean requested) { + private SpendCard(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -1352,18 +1331,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead - .PrepaidCard + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .Lead.PrepaidCard(this.extraParams, this.requested); + .CrossRiverBank.SpendCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1378,7 +1357,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1403,8 +1382,8 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Stripe { - /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + public static class FifthThird { + /** Can create commercial issuing charge cards with Fifth Third as BIN sponsor. */ @SerializedName("charge_card") ChargeCard chargeCard; @@ -1418,15 +1397,9 @@ public static class Stripe { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ - @SerializedName("prepaid_card") - PrepaidCard prepaidCard; - - private Stripe( - ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) { + private FifthThird(ChargeCard chargeCard, Map extraParams) { this.chargeCard = chargeCard; this.extraParams = extraParams; - this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -1438,18 +1411,17 @@ public static class Builder { private Map extraParams; - private PrepaidCard prepaidCard; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .FifthThird build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .Stripe(this.chargeCard, this.extraParams, this.prepaidCard); + .FifthThird(this.chargeCard, this.extraParams); } - /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + /** Can create commercial issuing charge cards with Fifth Third as BIN sponsor. */ public Builder setChargeCard( - AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird .ChargeCard chargeCard) { this.chargeCard = chargeCard; @@ -1460,7 +1432,7 @@ public Builder setChargeCard( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1475,7 +1447,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1485,15 +1457,6 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ - public Builder setPrepaidCard( - AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe - .PrepaidCard - prepaidCard) { - this.prepaidCard = prepaidCard; - return this; - } } @Getter @@ -1531,18 +1494,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe - .ChargeCard + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .FifthThird.ChargeCard build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .Stripe.ChargeCard(this.extraParams, this.requested); + .FifthThird.ChargeCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird.ChargeCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1557,7 +1520,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird.ChargeCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1578,6 +1541,85 @@ public Builder setRequested(Boolean requested) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Lead { + /** + * 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; + + /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + private Lead(Map extraParams, PrepaidCard prepaidCard) { + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PrepaidCard prepaidCard; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Lead(this.extraParams, this.prepaidCard); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ + public Builder setPrepaidCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) @@ -1614,18 +1656,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead .PrepaidCard build() { return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial - .Stripe.PrepaidCard(this.extraParams, this.requested); + .Lead.PrepaidCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1640,7 +1682,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1662,520 +1704,337 @@ public Builder setRequested(Boolean requested) { } } } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Customer { - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the - * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; - - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - @SerializedName("billing") - Billing billing; - /** Capabilities that have been requested on the Customer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Stripe { + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** - * Map of extra parameters for custom features not available in this client library. The - * 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; + /** + * 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 customer's shipping information. Appears on invoices emailed to this customer. */ - @SerializedName("shipping") - Shipping shipping; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - @SerializedName("test_clock") - String testClock; + private Stripe( + ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) { + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } - private Customer( - AutomaticIndirectTax automaticIndirectTax, - Billing billing, - Capabilities capabilities, - Map extraParams, - Shipping shipping, - String testClock) { - this.automaticIndirectTax = automaticIndirectTax; - this.billing = billing; - this.capabilities = capabilities; - this.extraParams = extraParams; - this.shipping = shipping; - this.testClock = testClock; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private ChargeCard chargeCard; - public static class Builder { - private AutomaticIndirectTax automaticIndirectTax; + private Map extraParams; - private Billing billing; + private PrepaidCard prepaidCard; - private Capabilities capabilities; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe(this.chargeCard, this.extraParams, this.prepaidCard); + } - private Map extraParams; + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + public Builder setChargeCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - private Shipping shipping; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private String testClock; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer build() { - return new AccountCreateParams.Configuration.Customer( - this.automaticIndirectTax, - this.billing, - this.capabilities, - this.extraParams, - this.shipping, - this.testClock); - } + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + public Builder setPrepaidCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on - * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - public Builder setAutomaticIndirectTax( - AccountCreateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - public Builder setBilling(AccountCreateParams.Configuration.Customer.Billing billing) { - this.billing = billing; - return this; - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Capabilities that have been requested on the Customer Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Customer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static class Builder { + private Map extraParams; - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - public Builder setShipping(AccountCreateParams.Configuration.Customer.Shipping shipping) { - this.shipping = shipping; - return this; - } + private Boolean requested; - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - public Builder setTestClock(String testClock) { - this.testClock = testClock; - return this; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.ChargeCard(this.extraParams, this.requested); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or - * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following - * text: “Reverse charge”. - */ - @SerializedName("exempt") - Exempt exempt; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - @SerializedName("ip_address") - String ipAddress; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** - * The data source used to identify the customer's tax location - defaults to {@code - * identity_address}. Will only be used for automatic tax calculation on the customer's - * Invoices and Subscriptions. This behavior is now deprecated for new users. - */ - @SerializedName("location_source") - LocationSource locationSource; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private AutomaticIndirectTax( - Exempt exempt, - Map extraParams, - String ipAddress, - LocationSource locationSource) { - this.exempt = exempt; - this.extraParams = extraParams; - this.ipAddress = ipAddress; - this.locationSource = locationSource; - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - public static Builder builder() { - return new Builder(); - } + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static class Builder { - private Exempt exempt; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private String ipAddress; + private Boolean requested; - private LocationSource locationSource; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.PrepaidCard(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.AutomaticIndirectTax build() { - return new AccountCreateParams.Configuration.Customer.AutomaticIndirectTax( - this.exempt, this.extraParams, this.ipAddress, this.locationSource); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, - * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following - * text: “Reverse charge”. - */ - public Builder setExempt( - AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { - this.exempt = exempt; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.put(key, value); - return this; } + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Consumer { + /** Can create consumer issuing cards with Celtic as BIN sponsor. */ + @SerializedName("celtic") + Celtic celtic; + + /** Can create consumer issuing cards with Cross River Bank as BIN sponsor. */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; /** - * A recent IP address of the customer used for tax reporting and tax location inference. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Can create consumer issuing cards with Lead as BIN sponsor. */ + @SerializedName("lead") + Lead lead; + + private Consumer( + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + Lead lead) { + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.lead = lead; } - /** - * The data source used to identify the customer's tax location - defaults to {@code - * identity_address}. Will only be used for automatic tax calculation on the customer's - * Invoices and Subscriptions. This behavior is now deprecated for new users. - */ - public Builder setLocationSource( - AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource - locationSource) { - this.locationSource = locationSource; - return this; + public static Builder builder() { + return new Builder(); } - } - public enum Exempt implements ApiRequestParams.EnumParam { - @SerializedName("exempt") - EXEMPT("exempt"), + public static class Builder { + private Celtic celtic; - @SerializedName("none") - NONE("none"), + private CrossRiverBank crossRiverBank; - @SerializedName("reverse") - REVERSE("reverse"); + private Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; - - Exempt(String value) { - this.value = value; - } - } - - public enum LocationSource implements ApiRequestParams.EnumParam { - @SerializedName("identity_address") - IDENTITY_ADDRESS("identity_address"), - - @SerializedName("ip_address") - IP_ADDRESS("ip_address"), - - @SerializedName("payment_method") - PAYMENT_METHOD("payment_method"), - - @SerializedName("shipping_address") - SHIPPING_ADDRESS("shipping_address"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - LocationSource(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Billing { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Default invoice settings for the customer account. */ - @SerializedName("invoice") - Invoice invoice; - - private Billing(Map extraParams, Invoice invoice) { - this.extraParams = extraParams; - this.invoice = invoice; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Invoice invoice; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing build() { - return new AccountCreateParams.Configuration.Customer.Billing( - this.extraParams, this.invoice); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Default invoice settings for the customer account. */ - public Builder setInvoice( - AccountCreateParams.Configuration.Customer.Billing.Invoice invoice) { - this.invoice = invoice; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Invoice { - /** - * The list of up to 4 default custom fields to be displayed on invoices for this - * customer. - */ - @SerializedName("custom_fields") - List customFields; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Default invoice footer. */ - @SerializedName("footer") - String footer; - - /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ - @SerializedName("next_sequence") - Long nextSequence; - - /** - * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or - * numbers. - */ - @SerializedName("prefix") - String prefix; - - /** Default invoice PDF rendering options. */ - @SerializedName("rendering") - Rendering rendering; - - private Invoice( - List - customFields, - Map extraParams, - String footer, - Long nextSequence, - String prefix, - Rendering rendering) { - this.customFields = customFields; - this.extraParams = extraParams; - this.footer = footer; - this.nextSequence = nextSequence; - this.prefix = prefix; - this.rendering = rendering; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List - customFields; - - private Map extraParams; - - private String footer; - - private Long nextSequence; - - private String prefix; - - private Rendering rendering; + private Lead lead; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing.Invoice build() { - return new AccountCreateParams.Configuration.Customer.Billing.Invoice( - this.customFields, - this.extraParams, - this.footer, - this.nextSequence, - this.prefix, - this.rendering); + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer( + this.celtic, this.crossRiverBank, this.extraParams, this.lead); } - /** - * Add an element to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addCustomField( - AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField element) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); - } - this.customFields.add(element); + /** Can create consumer issuing cards with Celtic as BIN sponsor. */ + public Builder setCeltic( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic celtic) { + this.celtic = celtic; return this; } - /** - * Add all elements to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addAllCustomField( - List - elements) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); - } - this.customFields.addAll(elements); + /** Can create consumer issuing cards with Cross River Bank as BIN sponsor. */ + public Builder setCrossRiverBank( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; return this; } @@ -2183,8 +2042,8 @@ public Builder addAllCustomField( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -2198,8 +2057,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -2209,38 +2068,17 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Default invoice footer. */ - public Builder setFooter(String footer) { - this.footer = footer; - return this; - } - - /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ - public Builder setNextSequence(Long nextSequence) { - this.nextSequence = nextSequence; - return this; - } - - /** - * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or - * numbers. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** Default invoice PDF rendering options. */ - public Builder setRendering( - AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { - this.rendering = rendering; + /** Can create consumer issuing cards with Lead as BIN sponsor. */ + public Builder setLead( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead lead) { + this.lead = lead; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CustomField { + public static class Celtic { /** * 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} @@ -2251,24 +2089,14 @@ public static class CustomField { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - @SerializedName("name") - String name; + /** Can create consumer issuing charge cards with Celtic as BIN sponsor. */ + @SerializedName("revolving_credit_card") + RevolvingCreditCard revolvingCreditCard; - /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined values. - */ - @SerializedName("value") - String value; - - private CustomField(Map extraParams, String name, String value) { + private Celtic( + Map extraParams, RevolvingCreditCard revolvingCreditCard) { this.extraParams = extraParams; - this.name = name; - this.value = value; + this.revolvingCreditCard = revolvingCreditCard; } public static Builder builder() { @@ -2278,22 +2106,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String name; - - private String value; + private RevolvingCreditCard revolvingCreditCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic build() { - return new AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField( - this.extraParams, this.name, this.value); + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .Celtic(this.extraParams, this.revolvingCreditCard); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -2308,7 +2134,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -2319,38 +2145,103 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - public Builder setName(String name) { - this.name = name; + /** Can create consumer issuing charge cards with Celtic as BIN sponsor. */ + public Builder setRevolvingCreditCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic + .RevolvingCreditCard + revolvingCreditCard) { + this.revolvingCreditCard = revolvingCreditCard; return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RevolvingCreditCard { /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined - * values. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder setValue(String value) { - this.value = value; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private RevolvingCreditCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic + .RevolvingCreditCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .Celtic.RevolvingCreditCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic.RevolvingCreditCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic.RevolvingCreditCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Rendering { - /** - * Indicates whether displayed line item prices and amounts on invoice PDFs include - * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code - * exclude_tax}. - */ - @SerializedName("amount_tax_display") - AmountTaxDisplay amountTaxDisplay; - + public static class CrossRiverBank { /** * 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} @@ -2361,17 +2252,13 @@ public static class Rendering { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** ID of the invoice rendering template to use for future invoices. */ - @SerializedName("template") - String template; + /** Can create consumer issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private Rendering( - AmountTaxDisplay amountTaxDisplay, - Map extraParams, - String template) { - this.amountTaxDisplay = amountTaxDisplay; + private CrossRiverBank(Map extraParams, PrepaidCard prepaidCard) { this.extraParams = extraParams; - this.template = template; + this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -2379,36 +2266,23 @@ public static Builder builder() { } public static class Builder { - private AmountTaxDisplay amountTaxDisplay; - private Map extraParams; - private String template; + private PrepaidCard prepaidCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering build() { - return new AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering( - this.amountTaxDisplay, this.extraParams, this.template); - } - - /** - * Indicates whether displayed line item prices and amounts on invoice PDFs include - * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code - * exclude_tax}. - */ - public Builder setAmountTaxDisplay( - AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering - .AmountTaxDisplay - amountTaxDisplay) { - this.amountTaxDisplay = amountTaxDisplay; - return this; + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank(this.extraParams, this.prepaidCard); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -2423,7 +2297,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -2434,619 +2308,381 @@ public Builder putAllExtraParam(Map map) { return this; } - /** ID of the invoice rendering template to use for future invoices. */ - public Builder setTemplate(String template) { - this.template = template; + /** Can create consumer issuing prepaid cards with Cross River Bank as BIN sponsor. */ + public Builder setPrepaidCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; return this; } } - public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { - @SerializedName("exclude_tax") - EXCLUDE_TAX("exclude_tax"), - - @SerializedName("include_inclusive_tax") - INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - AmountTaxDisplay(String value) { - this.value = value; + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** - * Generates requirements for enabling automatic indirect tax calculation on this customer's - * invoices or subscriptions. Recommended to request this capability if planning to enable - * automatic tax calculation on this customer's invoices or subscriptions. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - private Capabilities( - AutomaticIndirectTax automaticIndirectTax, Map extraParams) { - this.automaticIndirectTax = automaticIndirectTax; - this.extraParams = extraParams; - } + private Boolean requested; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank.PrepaidCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank.PrepaidCard(this.extraParams, this.requested); + } - public static class Builder { - private AutomaticIndirectTax automaticIndirectTax; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Capabilities build() { - return new AccountCreateParams.Configuration.Customer.Capabilities( - this.automaticIndirectTax, this.extraParams); - } - - /** - * Generates requirements for enabling automatic indirect tax calculation on this - * customer's invoices or subscriptions. Recommended to request this capability if - * planning to enable automatic tax calculation on this customer's invoices or - * subscriptions. - */ - public Builder setAutomaticIndirectTax( - AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Lead { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can create consumer issuing prepaid cards with Lead as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private AutomaticIndirectTax(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Lead(Map extraParams, PrepaidCard prepaidCard) { + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Boolean requested; + private PrepaidCard prepaidCard; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - build() { - return new AccountCreateParams.Configuration.Customer.Capabilities - .AutomaticIndirectTax(this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead( + this.extraParams, this.prepaidCard); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead#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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.putAll(map); - return this; - } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** Can create consumer issuing prepaid cards with Lead as BIN sponsor. */ + public Builder setPrepaidCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Shipping { - /** Customer shipping address. */ - @SerializedName("address") - Address address; - - /** - * 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; - - /** Customer name. */ - @SerializedName("name") - String name; - /** Customer phone (including extension). */ - @SerializedName("phone") - String phone; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Shipping( - Address address, Map extraParams, String name, String phone) { - this.address = address; - this.extraParams = extraParams; - this.name = name; - this.phone = phone; - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - public static Builder builder() { - return new Builder(); - } + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static class Builder { - private Address address; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private String name; + private Boolean requested; - private String phone; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead + .PrepaidCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer + .Lead.PrepaidCard(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Shipping build() { - return new AccountCreateParams.Configuration.Customer.Shipping( - this.address, this.extraParams, this.name, this.phone); - } - - /** Customer shipping address. */ - public Builder setAddress( - AccountCreateParams.Configuration.Customer.Shipping.Address address) { - this.address = address; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Consumer.Lead.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Customer name. */ - public Builder setName(String name) { - this.name = name; - return this; - } - - /** Customer phone (including extension). */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; } } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Customer { + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the + * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - String country; + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + @SerializedName("billing") + Billing billing; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Capabilities that have been requested on the Customer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - String line1; + /** + * 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; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - String line2; + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + @SerializedName("shipping") + Shipping shipping; - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + @SerializedName("test_clock") + String testClock; - /** State, county, province, or region. */ - @SerializedName("state") - String state; + private Customer( + AutomaticIndirectTax automaticIndirectTax, + Billing billing, + Capabilities capabilities, + Map extraParams, + Shipping shipping, + String testClock) { + this.automaticIndirectTax = automaticIndirectTax; + this.billing = billing; + this.capabilities = capabilities; + this.extraParams = extraParams; + this.shipping = shipping; + this.testClock = testClock; + } - private Address( - String city, - String country, - Map extraParams, - String line1, - String line2, - String postalCode, - String state) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private AutomaticIndirectTax automaticIndirectTax; - public static class Builder { - private String city; + private Billing billing; - private String country; + private Capabilities capabilities; - private Map extraParams; + private Map extraParams; - private String line1; + private Shipping shipping; - private String line2; + private String testClock; - private String postalCode; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer build() { + return new AccountCreateParams.Configuration.Customer( + this.automaticIndirectTax, + this.billing, + this.capabilities, + this.extraParams, + this.shipping, + this.testClock); + } - private String state; + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on + * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + public Builder setAutomaticIndirectTax( + AccountCreateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Shipping.Address build() { - return new AccountCreateParams.Configuration.Customer.Shipping.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state); - } + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + public Builder setBilling(AccountCreateParams.Configuration.Customer.Billing billing) { + this.billing = billing; + return this; + } - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(String country) { - this.country = country; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Merchant { - /** Settings used for Bacs debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; - - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - @SerializedName("branding") - Branding branding; - - /** Capabilities to request on the Merchant Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** Card payments settings. */ - @SerializedName("card_payments") - CardPayments cardPayments; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Settings specific to Konbini payments on the account. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; - - /** - * The Merchant Category Code (MCC) for the Merchant Configuration. MCCs classify businesses - * based on the goods or services they provide. - */ - @SerializedName("mcc") - String mcc; - - /** Settings for the default text that appears on statements for language variations. */ - @SerializedName("script_statement_descriptor") - ScriptStatementDescriptor scriptStatementDescriptor; - - /** Settings used for Smart Disputes. */ - @SerializedName("smart_disputes") - SmartDisputes smartDisputes; - - /** Statement descriptor. */ - @SerializedName("statement_descriptor") - StatementDescriptor statementDescriptor; - - /** Publicly available contact information for sending support issues to. */ - @SerializedName("support") - Support support; - - private Merchant( - BacsDebitPayments bacsDebitPayments, - Branding branding, - Capabilities capabilities, - CardPayments cardPayments, - Map extraParams, - KonbiniPayments konbiniPayments, - String mcc, - ScriptStatementDescriptor scriptStatementDescriptor, - SmartDisputes smartDisputes, - StatementDescriptor statementDescriptor, - Support support) { - this.bacsDebitPayments = bacsDebitPayments; - this.branding = branding; - this.capabilities = capabilities; - this.cardPayments = cardPayments; - this.extraParams = extraParams; - this.konbiniPayments = konbiniPayments; - this.mcc = mcc; - this.scriptStatementDescriptor = scriptStatementDescriptor; - this.smartDisputes = smartDisputes; - this.statementDescriptor = statementDescriptor; - this.support = support; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BacsDebitPayments bacsDebitPayments; - - private Branding branding; - - private Capabilities capabilities; - - private CardPayments cardPayments; - - private Map extraParams; - - private KonbiniPayments konbiniPayments; - - private String mcc; - - private ScriptStatementDescriptor scriptStatementDescriptor; - - private SmartDisputes smartDisputes; - - private StatementDescriptor statementDescriptor; - - private Support support; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant build() { - return new AccountCreateParams.Configuration.Merchant( - this.bacsDebitPayments, - this.branding, - this.capabilities, - this.cardPayments, - this.extraParams, - this.konbiniPayments, - this.mcc, - this.scriptStatementDescriptor, - this.smartDisputes, - this.statementDescriptor, - this.support); - } - - /** Settings used for Bacs debit payments. */ - public Builder setBacsDebitPayments( - AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } - - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) { - this.branding = branding; - return this; - } - - /** Capabilities to request on the Merchant Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Merchant.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } - - /** Card payments settings. */ - public Builder setCardPayments( - AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } + /** Capabilities that have been requested on the Customer Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Customer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3060,7 +2696,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -3071,57 +2707,32 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Settings specific to Konbini payments on the account. */ - public Builder setKonbiniPayments( - AccountCreateParams.Configuration.Merchant.KonbiniPayments konbiniPayments) { - this.konbiniPayments = konbiniPayments; + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + public Builder setShipping(AccountCreateParams.Configuration.Customer.Shipping shipping) { + this.shipping = shipping; return this; } /** - * The Merchant Category Code (MCC) for the Merchant Configuration. MCCs classify businesses - * based on the goods or services they provide. + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. */ - public Builder setMcc(String mcc) { - this.mcc = mcc; + public Builder setTestClock(String testClock) { + this.testClock = testClock; return this; } + } - /** Settings for the default text that appears on statements for language variations. */ - public Builder setScriptStatementDescriptor( - AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor - scriptStatementDescriptor) { - this.scriptStatementDescriptor = scriptStatementDescriptor; - return this; - } - - /** Settings used for Smart Disputes. */ - public Builder setSmartDisputes( - AccountCreateParams.Configuration.Merchant.SmartDisputes smartDisputes) { - this.smartDisputes = smartDisputes; - return this; - } - - /** Statement descriptor. */ - public Builder setStatementDescriptor( - AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { - this.statementDescriptor = statementDescriptor; - return this; - } - - /** Publicly available contact information for sending support issues to. */ - public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) { - this.support = support; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** Display name for Bacs Direct Debit payments. */ - @SerializedName("display_name") - String displayName; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or + * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following + * text: “Reverse charge”. + */ + @SerializedName("exempt") + Exempt exempt; /** * Map of extra parameters for custom features not available in this client library. The @@ -3133,9 +2744,29 @@ public static class BacsDebitPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private BacsDebitPayments(String displayName, Map extraParams) { - this.displayName = displayName; + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + @SerializedName("ip_address") + String ipAddress; + + /** + * The data source used to identify the customer's tax location - defaults to {@code + * identity_address}. Will only be used for automatic tax calculation on the customer's + * Invoices and Subscriptions. This behavior is now deprecated for new users. + */ + @SerializedName("location_source") + LocationSource locationSource; + + private AutomaticIndirectTax( + Exempt exempt, + Map extraParams, + String ipAddress, + LocationSource locationSource) { + this.exempt = exempt; this.extraParams = extraParams; + this.ipAddress = ipAddress; + this.locationSource = locationSource; } public static Builder builder() { @@ -3143,19 +2774,28 @@ public static Builder builder() { } public static class Builder { - private String displayName; + private Exempt exempt; private Map extraParams; + private String ipAddress; + + private LocationSource locationSource; + /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() { - return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments( - this.displayName, this.extraParams); + public AccountCreateParams.Configuration.Customer.AutomaticIndirectTax build() { + return new AccountCreateParams.Configuration.Customer.AutomaticIndirectTax( + this.exempt, this.extraParams, this.ipAddress, this.locationSource); } - /** Display name for Bacs Direct Debit payments. */ - public Builder setDisplayName(String displayName) { - this.displayName = displayName; + /** + * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, + * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following + * text: “Reverse charge”. + */ + public Builder setExempt( + AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { + this.exempt = exempt; return this; } @@ -3163,8 +2803,8 @@ public Builder setDisplayName(String displayName) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original * map. See {@link - * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3178,8 +2818,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original * map. See {@link - * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3188,12 +2828,71 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + public Builder setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + return this; + } + + /** + * The data source used to identify the customer's tax location - defaults to {@code + * identity_address}. Will only be used for automatic tax calculation on the customer's + * Invoices and Subscriptions. This behavior is now deprecated for new users. + */ + public Builder setLocationSource( + AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource + locationSource) { + this.locationSource = locationSource; + return this; + } + } + + public enum Exempt implements ApiRequestParams.EnumParam { + @SerializedName("exempt") + EXEMPT("exempt"), + + @SerializedName("none") + NONE("none"), + + @SerializedName("reverse") + REVERSE("reverse"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Exempt(String value) { + this.value = value; + } + } + + public enum LocationSource implements ApiRequestParams.EnumParam { + @SerializedName("identity_address") + IDENTITY_ADDRESS("identity_address"), + + @SerializedName("ip_address") + IP_ADDRESS("ip_address"), + + @SerializedName("payment_method") + PAYMENT_METHOD("payment_method"), + + @SerializedName("shipping_address") + SHIPPING_ADDRESS("shipping_address"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + LocationSource(String value) { + this.value = value; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Branding { + public static class Billing { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -3204,40 +2903,13 @@ public static class Branding { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * ID of a file upload: - * An icon for the merchant. Must be square and at least 128px x 128px. - */ - @SerializedName("icon") - String icon; - - /** - * ID of a file upload: - * A logo for the merchant that will be used in Checkout instead of the icon and without the - * merchant's name next to it if provided. Must be at least 128px x 128px. - */ - @SerializedName("logo") - String logo; - - /** A CSS hex color value representing the primary branding color for the merchant. */ - @SerializedName("primary_color") - String primaryColor; - - /** A CSS hex color value representing the secondary branding color for the merchant. */ - @SerializedName("secondary_color") - String secondaryColor; + /** Default invoice settings for the customer account. */ + @SerializedName("invoice") + Invoice invoice; - private Branding( - Map extraParams, - String icon, - String logo, - String primaryColor, - String secondaryColor) { + private Billing(Map extraParams, Invoice invoice) { this.extraParams = extraParams; - this.icon = icon; - this.logo = logo; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; + this.invoice = invoice; } public static Builder builder() { @@ -3247,25 +2919,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String icon; - - private String logo; - - private String primaryColor; - - private String secondaryColor; + private Invoice invoice; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Branding build() { - return new AccountCreateParams.Configuration.Merchant.Branding( - this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); + public AccountCreateParams.Configuration.Customer.Billing build() { + return new AccountCreateParams.Configuration.Customer.Billing( + this.extraParams, this.invoice); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. + * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3278,8 +2944,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. + * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3289,319 +2955,436 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. - */ - public Builder setIcon(String icon) { - this.icon = icon; + /** Default invoice settings for the customer account. */ + public Builder setInvoice( + AccountCreateParams.Configuration.Customer.Billing.Invoice invoice) { + this.invoice = invoice; return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Invoice { /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + * The list of up to 4 default custom fields to be displayed on invoices for this + * customer. */ - public Builder setLogo(String logo) { - this.logo = logo; - return this; - } + @SerializedName("custom_fields") + List customFields; - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(String primaryColor) { - this.primaryColor = primaryColor; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(String secondaryColor) { - this.secondaryColor = secondaryColor; - return this; - } - } - } + /** Default invoice footer. */ + @SerializedName("footer") + String footer; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Allow the merchant to process ACH debit payments. */ - @SerializedName("ach_debit_payments") - AchDebitPayments achDebitPayments; + /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ + @SerializedName("next_sequence") + Long nextSequence; - /** Allow the merchant to process ACSS debit payments. */ - @SerializedName("acss_debit_payments") - AcssDebitPayments acssDebitPayments; + /** + * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or + * numbers. + */ + @SerializedName("prefix") + String prefix; - /** Allow the merchant to process Affirm payments. */ - @SerializedName("affirm_payments") - AffirmPayments affirmPayments; + /** Default invoice PDF rendering options. */ + @SerializedName("rendering") + Rendering rendering; - /** Allow the merchant to process Afterpay/Clearpay payments. */ - @SerializedName("afterpay_clearpay_payments") - AfterpayClearpayPayments afterpayClearpayPayments; + private Invoice( + List + customFields, + Map extraParams, + String footer, + Long nextSequence, + String prefix, + Rendering rendering) { + this.customFields = customFields; + this.extraParams = extraParams; + this.footer = footer; + this.nextSequence = nextSequence; + this.prefix = prefix; + this.rendering = rendering; + } - /** Allow the merchant to process Alma payments. */ - @SerializedName("alma_payments") - AlmaPayments almaPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Amazon Pay payments. */ - @SerializedName("amazon_pay_payments") - AmazonPayPayments amazonPayPayments; + public static class Builder { + private List + customFields; - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - @SerializedName("au_becs_debit_payments") - AuBecsDebitPayments auBecsDebitPayments; + private Map extraParams; - /** Allow the merchant to process BACS Direct Debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + private String footer; - /** Allow the merchant to process Bancontact payments. */ - @SerializedName("bancontact_payments") - BancontactPayments bancontactPayments; + private Long nextSequence; - /** Allow the merchant to process BLIK payments. */ - @SerializedName("blik_payments") - BlikPayments blikPayments; + private String prefix; - /** Allow the merchant to process Boleto payments. */ - @SerializedName("boleto_payments") - BoletoPayments boletoPayments; + private Rendering rendering; - /** Allow the merchant to collect card payments. */ - @SerializedName("card_payments") - CardPayments cardPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing.Invoice build() { + return new AccountCreateParams.Configuration.Customer.Billing.Invoice( + this.customFields, + this.extraParams, + this.footer, + this.nextSequence, + this.prefix, + this.rendering); + } - /** Allow the merchant to process Cartes Bancaires payments. */ - @SerializedName("cartes_bancaires_payments") - CartesBancairesPayments cartesBancairesPayments; + /** + * Add an element to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. + */ + public Builder addCustomField( + AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField element) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.add(element); + return this; + } - /** Allow the merchant to process Cash App payments. */ - @SerializedName("cashapp_payments") - CashappPayments cashappPayments; + /** + * Add all elements to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. + */ + public Builder addAllCustomField( + List + elements) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.addAll(elements); + return this; + } - /** Allow the merchant to process EPS payments. */ - @SerializedName("eps_payments") - EpsPayments epsPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process FPX payments. */ - @SerializedName("fpx_payments") - FpxPayments fpxPayments; + /** Default invoice footer. */ + public Builder setFooter(String footer) { + this.footer = footer; + return this; + } - /** Allow the merchant to process UK bank transfer payments. */ - @SerializedName("gb_bank_transfer_payments") - GbBankTransferPayments gbBankTransferPayments; + /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ + public Builder setNextSequence(Long nextSequence) { + this.nextSequence = nextSequence; + return this; + } - /** Allow the merchant to process GrabPay payments. */ - @SerializedName("grabpay_payments") - GrabpayPayments grabpayPayments; + /** + * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or + * numbers. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } - /** Allow the merchant to process iDEAL payments. */ - @SerializedName("ideal_payments") - IdealPayments idealPayments; + /** Default invoice PDF rendering options. */ + public Builder setRendering( + AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { + this.rendering = rendering; + return this; + } + } - /** Allow the merchant to process JCB card payments. */ - @SerializedName("jcb_payments") - JcbPayments jcbPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CustomField { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process Japanese bank transfer payments. */ - @SerializedName("jp_bank_transfer_payments") - JpBankTransferPayments jpBankTransferPayments; + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + @SerializedName("name") + String name; - /** Allow the merchant to process Kakao Pay payments. */ - @SerializedName("kakao_pay_payments") - KakaoPayPayments kakaoPayPayments; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined values. + */ + @SerializedName("value") + String value; - /** Allow the merchant to process Klarna payments. */ - @SerializedName("klarna_payments") - KlarnaPayments klarnaPayments; + private CustomField(Map extraParams, String name, String value) { + this.extraParams = extraParams; + this.name = name; + this.value = value; + } - /** Allow the merchant to process Konbini convenience store payments. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Korean card payments. */ - @SerializedName("kr_card_payments") - KrCardPayments krCardPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Link payments. */ - @SerializedName("link_payments") - LinkPayments linkPayments; + private String name; - /** Allow the merchant to process MobilePay payments. */ - @SerializedName("mobilepay_payments") - MobilepayPayments mobilepayPayments; + private String value; - /** Allow the merchant to process Multibanco payments. */ - @SerializedName("multibanco_payments") - MultibancoPayments multibancoPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField + build() { + return new AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField( + this.extraParams, this.name, this.value); + } - /** Allow the merchant to process Mexican bank transfer payments. */ - @SerializedName("mx_bank_transfer_payments") - MxBankTransferPayments mxBankTransferPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Naver Pay payments. */ - @SerializedName("naver_pay_payments") - NaverPayPayments naverPayPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process OXXO payments. */ - @SerializedName("oxxo_payments") - OxxoPayments oxxoPayments; + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + public Builder setName(String name) { + this.name = name; + return this; + } - /** Allow the merchant to process Przelewy24 (P24) payments. */ - @SerializedName("p24_payments") - P24Payments p24Payments; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined + * values. + */ + public Builder setValue(String value) { + this.value = value; + return this; + } + } + } - /** Allow the merchant to process Pay by Bank payments. */ - @SerializedName("pay_by_bank_payments") - PayByBankPayments payByBankPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Rendering { + /** + * Indicates whether displayed line item prices and amounts on invoice PDFs include + * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code + * exclude_tax}. + */ + @SerializedName("amount_tax_display") + AmountTaxDisplay amountTaxDisplay; - /** Allow the merchant to process PAYCO payments. */ - @SerializedName("payco_payments") - PaycoPayments paycoPayments; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process PayNow payments. */ - @SerializedName("paynow_payments") - PaynowPayments paynowPayments; + /** ID of the invoice rendering template to use for future invoices. */ + @SerializedName("template") + String template; - /** Allow the merchant to process PromptPay payments. */ - @SerializedName("promptpay_payments") - PromptpayPayments promptpayPayments; + private Rendering( + AmountTaxDisplay amountTaxDisplay, + Map extraParams, + String template) { + this.amountTaxDisplay = amountTaxDisplay; + this.extraParams = extraParams; + this.template = template; + } - /** Allow the merchant to process Revolut Pay payments. */ - @SerializedName("revolut_pay_payments") - RevolutPayPayments revolutPayPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Samsung Pay payments. */ - @SerializedName("samsung_pay_payments") - SamsungPayPayments samsungPayPayments; + public static class Builder { + private AmountTaxDisplay amountTaxDisplay; - /** Allow the merchant to process SEPA bank transfer payments. */ - @SerializedName("sepa_bank_transfer_payments") - SepaBankTransferPayments sepaBankTransferPayments; + private Map extraParams; - /** Allow the merchant to process SEPA Direct Debit payments. */ - @SerializedName("sepa_debit_payments") - SepaDebitPayments sepaDebitPayments; + private String template; - /** Allow the merchant to process Swish payments. */ - @SerializedName("swish_payments") - SwishPayments swishPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering build() { + return new AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering( + this.amountTaxDisplay, this.extraParams, this.template); + } - /** Allow the merchant to process TWINT payments. */ - @SerializedName("twint_payments") - TwintPayments twintPayments; + /** + * Indicates whether displayed line item prices and amounts on invoice PDFs include + * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code + * exclude_tax}. + */ + public Builder setAmountTaxDisplay( + AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering + .AmountTaxDisplay + amountTaxDisplay) { + this.amountTaxDisplay = amountTaxDisplay; + return this; + } - /** Allow the merchant to process US bank transfer payments. */ - @SerializedName("us_bank_transfer_payments") - UsBankTransferPayments usBankTransferPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Zip payments. */ - @SerializedName("zip_payments") - ZipPayments zipPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** ID of the invoice rendering template to use for future invoices. */ + public Builder setTemplate(String template) { + this.template = template; + return this; + } + } + + public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { + @SerializedName("exclude_tax") + EXCLUDE_TAX("exclude_tax"), + + @SerializedName("include_inclusive_tax") + INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountTaxDisplay(String value) { + this.value = value; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** + * Generates requirements for enabling automatic indirect tax calculation on this customer's + * invoices or subscriptions. Recommended to request this capability if planning to enable + * automatic tax calculation on this customer's invoices or subscriptions. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; private Capabilities( - AchDebitPayments achDebitPayments, - AcssDebitPayments acssDebitPayments, - AffirmPayments affirmPayments, - AfterpayClearpayPayments afterpayClearpayPayments, - AlmaPayments almaPayments, - AmazonPayPayments amazonPayPayments, - AuBecsDebitPayments auBecsDebitPayments, - BacsDebitPayments bacsDebitPayments, - BancontactPayments bancontactPayments, - BlikPayments blikPayments, - BoletoPayments boletoPayments, - CardPayments cardPayments, - CartesBancairesPayments cartesBancairesPayments, - CashappPayments cashappPayments, - EpsPayments epsPayments, - Map extraParams, - FpxPayments fpxPayments, - GbBankTransferPayments gbBankTransferPayments, - GrabpayPayments grabpayPayments, - IdealPayments idealPayments, - JcbPayments jcbPayments, - JpBankTransferPayments jpBankTransferPayments, - KakaoPayPayments kakaoPayPayments, - KlarnaPayments klarnaPayments, - KonbiniPayments konbiniPayments, - KrCardPayments krCardPayments, - LinkPayments linkPayments, - MobilepayPayments mobilepayPayments, - MultibancoPayments multibancoPayments, - MxBankTransferPayments mxBankTransferPayments, - NaverPayPayments naverPayPayments, - OxxoPayments oxxoPayments, - P24Payments p24Payments, - PayByBankPayments payByBankPayments, - PaycoPayments paycoPayments, - PaynowPayments paynowPayments, - PromptpayPayments promptpayPayments, - RevolutPayPayments revolutPayPayments, - SamsungPayPayments samsungPayPayments, - SepaBankTransferPayments sepaBankTransferPayments, - SepaDebitPayments sepaDebitPayments, - SwishPayments swishPayments, - TwintPayments twintPayments, - UsBankTransferPayments usBankTransferPayments, - ZipPayments zipPayments) { - this.achDebitPayments = achDebitPayments; - this.acssDebitPayments = acssDebitPayments; - this.affirmPayments = affirmPayments; - this.afterpayClearpayPayments = afterpayClearpayPayments; - this.almaPayments = almaPayments; - this.amazonPayPayments = amazonPayPayments; - this.auBecsDebitPayments = auBecsDebitPayments; - this.bacsDebitPayments = bacsDebitPayments; - this.bancontactPayments = bancontactPayments; - this.blikPayments = blikPayments; - this.boletoPayments = boletoPayments; - this.cardPayments = cardPayments; - this.cartesBancairesPayments = cartesBancairesPayments; - this.cashappPayments = cashappPayments; - this.epsPayments = epsPayments; + AutomaticIndirectTax automaticIndirectTax, Map extraParams) { + this.automaticIndirectTax = automaticIndirectTax; this.extraParams = extraParams; - this.fpxPayments = fpxPayments; - this.gbBankTransferPayments = gbBankTransferPayments; - this.grabpayPayments = grabpayPayments; - this.idealPayments = idealPayments; - this.jcbPayments = jcbPayments; - this.jpBankTransferPayments = jpBankTransferPayments; - this.kakaoPayPayments = kakaoPayPayments; - this.klarnaPayments = klarnaPayments; - this.konbiniPayments = konbiniPayments; - this.krCardPayments = krCardPayments; - this.linkPayments = linkPayments; - this.mobilepayPayments = mobilepayPayments; - this.multibancoPayments = multibancoPayments; - this.mxBankTransferPayments = mxBankTransferPayments; - this.naverPayPayments = naverPayPayments; - this.oxxoPayments = oxxoPayments; - this.p24Payments = p24Payments; - this.payByBankPayments = payByBankPayments; - this.paycoPayments = paycoPayments; - this.paynowPayments = paynowPayments; - this.promptpayPayments = promptpayPayments; - this.revolutPayPayments = revolutPayPayments; - this.samsungPayPayments = samsungPayPayments; - this.sepaBankTransferPayments = sepaBankTransferPayments; - this.sepaDebitPayments = sepaDebitPayments; - this.swishPayments = swishPayments; - this.twintPayments = twintPayments; - this.usBankTransferPayments = usBankTransferPayments; - this.zipPayments = zipPayments; } public static Builder builder() { @@ -3609,267 +3392,205 @@ public static Builder builder() { } public static class Builder { - private AchDebitPayments achDebitPayments; - - private AcssDebitPayments acssDebitPayments; + private AutomaticIndirectTax automaticIndirectTax; - private AffirmPayments affirmPayments; + private Map extraParams; - private AfterpayClearpayPayments afterpayClearpayPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Capabilities build() { + return new AccountCreateParams.Configuration.Customer.Capabilities( + this.automaticIndirectTax, this.extraParams); + } - private AlmaPayments almaPayments; + /** + * Generates requirements for enabling automatic indirect tax calculation on this + * customer's invoices or subscriptions. Recommended to request this capability if + * planning to enable automatic tax calculation on this customer's invoices or + * subscriptions. + */ + public Builder setAutomaticIndirectTax( + AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; + } - private AmazonPayPayments amazonPayPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private AuBecsDebitPayments auBecsDebitPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - private BacsDebitPayments bacsDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private BancontactPayments bancontactPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private BlikPayments blikPayments; + private AutomaticIndirectTax(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private BoletoPayments boletoPayments; + public static Builder builder() { + return new Builder(); + } - private CardPayments cardPayments; + public static class Builder { + private Map extraParams; - private CartesBancairesPayments cartesBancairesPayments; + private Boolean requested; - private CashappPayments cashappPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + build() { + return new AccountCreateParams.Configuration.Customer.Capabilities + .AutomaticIndirectTax(this.extraParams, this.requested); + } - private EpsPayments epsPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private FpxPayments fpxPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - private GbBankTransferPayments gbBankTransferPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Shipping { + /** Customer shipping address. */ + @SerializedName("address") + Address address; - private GrabpayPayments grabpayPayments; + /** + * 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 IdealPayments idealPayments; + /** Customer name. */ + @SerializedName("name") + String name; - private JcbPayments jcbPayments; + /** Customer phone (including extension). */ + @SerializedName("phone") + String phone; - private JpBankTransferPayments jpBankTransferPayments; + private Shipping( + Address address, Map extraParams, String name, String phone) { + this.address = address; + this.extraParams = extraParams; + this.name = name; + this.phone = phone; + } - private KakaoPayPayments kakaoPayPayments; + public static Builder builder() { + return new Builder(); + } - private KlarnaPayments klarnaPayments; + public static class Builder { + private Address address; - private KonbiniPayments konbiniPayments; + private Map extraParams; - private KrCardPayments krCardPayments; + private String name; - private LinkPayments linkPayments; + private String phone; - private MobilepayPayments mobilepayPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Shipping build() { + return new AccountCreateParams.Configuration.Customer.Shipping( + this.address, this.extraParams, this.name, this.phone); + } - private MultibancoPayments multibancoPayments; - - private MxBankTransferPayments mxBankTransferPayments; - - private NaverPayPayments naverPayPayments; - - private OxxoPayments oxxoPayments; - - private P24Payments p24Payments; - - private PayByBankPayments payByBankPayments; - - private PaycoPayments paycoPayments; - - private PaynowPayments paynowPayments; - - private PromptpayPayments promptpayPayments; - - private RevolutPayPayments revolutPayPayments; - - private SamsungPayPayments samsungPayPayments; - - private SepaBankTransferPayments sepaBankTransferPayments; - - private SepaDebitPayments sepaDebitPayments; - - private SwishPayments swishPayments; - - private TwintPayments twintPayments; - - private UsBankTransferPayments usBankTransferPayments; - - private ZipPayments zipPayments; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities( - this.achDebitPayments, - this.acssDebitPayments, - this.affirmPayments, - this.afterpayClearpayPayments, - this.almaPayments, - this.amazonPayPayments, - this.auBecsDebitPayments, - this.bacsDebitPayments, - this.bancontactPayments, - this.blikPayments, - this.boletoPayments, - this.cardPayments, - this.cartesBancairesPayments, - this.cashappPayments, - this.epsPayments, - this.extraParams, - this.fpxPayments, - this.gbBankTransferPayments, - this.grabpayPayments, - this.idealPayments, - this.jcbPayments, - this.jpBankTransferPayments, - this.kakaoPayPayments, - this.klarnaPayments, - this.konbiniPayments, - this.krCardPayments, - this.linkPayments, - this.mobilepayPayments, - this.multibancoPayments, - this.mxBankTransferPayments, - this.naverPayPayments, - this.oxxoPayments, - this.p24Payments, - this.payByBankPayments, - this.paycoPayments, - this.paynowPayments, - this.promptpayPayments, - this.revolutPayPayments, - this.samsungPayPayments, - this.sepaBankTransferPayments, - this.sepaDebitPayments, - this.swishPayments, - this.twintPayments, - this.usBankTransferPayments, - this.zipPayments); - } - - /** Allow the merchant to process ACH debit payments. */ - public Builder setAchDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments - achDebitPayments) { - this.achDebitPayments = achDebitPayments; - return this; - } - - /** Allow the merchant to process ACSS debit payments. */ - public Builder setAcssDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - acssDebitPayments) { - this.acssDebitPayments = acssDebitPayments; - return this; - } - - /** Allow the merchant to process Affirm payments. */ - public Builder setAffirmPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments - affirmPayments) { - this.affirmPayments = affirmPayments; - return this; - } - - /** Allow the merchant to process Afterpay/Clearpay payments. */ - public Builder setAfterpayClearpayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - afterpayClearpayPayments) { - this.afterpayClearpayPayments = afterpayClearpayPayments; - return this; - } - - /** Allow the merchant to process Alma payments. */ - public Builder setAlmaPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { - this.almaPayments = almaPayments; - return this; - } - - /** Allow the merchant to process Amazon Pay payments. */ - public Builder setAmazonPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - amazonPayPayments) { - this.amazonPayPayments = amazonPayPayments; - return this; - } - - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - public Builder setAuBecsDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - auBecsDebitPayments) { - this.auBecsDebitPayments = auBecsDebitPayments; - return this; - } - - /** Allow the merchant to process BACS Direct Debit payments. */ - public Builder setBacsDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } - - /** Allow the merchant to process Bancontact payments. */ - public Builder setBancontactPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments - bancontactPayments) { - this.bancontactPayments = bancontactPayments; - return this; - } - - /** Allow the merchant to process BLIK payments. */ - public Builder setBlikPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { - this.blikPayments = blikPayments; - return this; - } - - /** Allow the merchant to process Boleto payments. */ - public Builder setBoletoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments - boletoPayments) { - this.boletoPayments = boletoPayments; - return this; - } - - /** Allow the merchant to collect card payments. */ - public Builder setCardPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } - - /** Allow the merchant to process Cartes Bancaires payments. */ - public Builder setCartesBancairesPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - cartesBancairesPayments) { - this.cartesBancairesPayments = cartesBancairesPayments; - return this; - } - - /** Allow the merchant to process Cash App payments. */ - public Builder setCashappPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments - cashappPayments) { - this.cashappPayments = cashappPayments; - return this; - } - - /** Allow the merchant to process EPS payments. */ - public Builder setEpsPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { - this.epsPayments = epsPayments; + /** Customer shipping address. */ + public Builder setAddress( + AccountCreateParams.Configuration.Customer.Shipping.Address address) { + this.address = address; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. + * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3882,8 +3603,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. + * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3893,232 +3614,33 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Allow the merchant to process FPX payments. */ - public Builder setFpxPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { - this.fpxPayments = fpxPayments; + /** Customer name. */ + public Builder setName(String name) { + this.name = name; return this; } - /** Allow the merchant to process UK bank transfer payments. */ - public Builder setGbBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - gbBankTransferPayments) { - this.gbBankTransferPayments = gbBankTransferPayments; + /** Customer phone (including extension). */ + public Builder setPhone(String phone) { + this.phone = phone; return this; } + } - /** Allow the merchant to process GrabPay payments. */ - public Builder setGrabpayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments - grabpayPayments) { - this.grabpayPayments = grabpayPayments; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - /** Allow the merchant to process iDEAL payments. */ - public Builder setIdealPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { - this.idealPayments = idealPayments; - return this; - } + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - /** Allow the merchant to process JCB card payments. */ - public Builder setJcbPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { - this.jcbPayments = jcbPayments; - return this; - } - - /** Allow the merchant to process Japanese bank transfer payments. */ - public Builder setJpBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - jpBankTransferPayments) { - this.jpBankTransferPayments = jpBankTransferPayments; - return this; - } - - /** Allow the merchant to process Kakao Pay payments. */ - public Builder setKakaoPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - kakaoPayPayments) { - this.kakaoPayPayments = kakaoPayPayments; - return this; - } - - /** Allow the merchant to process Klarna payments. */ - public Builder setKlarnaPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments - klarnaPayments) { - this.klarnaPayments = klarnaPayments; - return this; - } - - /** Allow the merchant to process Konbini convenience store payments. */ - public Builder setKonbiniPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments - konbiniPayments) { - this.konbiniPayments = konbiniPayments; - return this; - } - - /** Allow the merchant to process Korean card payments. */ - public Builder setKrCardPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments - krCardPayments) { - this.krCardPayments = krCardPayments; - return this; - } - - /** Allow the merchant to process Link payments. */ - public Builder setLinkPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { - this.linkPayments = linkPayments; - return this; - } - - /** Allow the merchant to process MobilePay payments. */ - public Builder setMobilepayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments - mobilepayPayments) { - this.mobilepayPayments = mobilepayPayments; - return this; - } - - /** Allow the merchant to process Multibanco payments. */ - public Builder setMultibancoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments - multibancoPayments) { - this.multibancoPayments = multibancoPayments; - return this; - } - - /** Allow the merchant to process Mexican bank transfer payments. */ - public Builder setMxBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - mxBankTransferPayments) { - this.mxBankTransferPayments = mxBankTransferPayments; - return this; - } - - /** Allow the merchant to process Naver Pay payments. */ - public Builder setNaverPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments - naverPayPayments) { - this.naverPayPayments = naverPayPayments; - return this; - } - - /** Allow the merchant to process OXXO payments. */ - public Builder setOxxoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { - this.oxxoPayments = oxxoPayments; - return this; - } - - /** Allow the merchant to process Przelewy24 (P24) payments. */ - public Builder setP24Payments( - AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { - this.p24Payments = p24Payments; - return this; - } - - /** Allow the merchant to process Pay by Bank payments. */ - public Builder setPayByBankPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments - payByBankPayments) { - this.payByBankPayments = payByBankPayments; - return this; - } - - /** Allow the merchant to process PAYCO payments. */ - public Builder setPaycoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { - this.paycoPayments = paycoPayments; - return this; - } - - /** Allow the merchant to process PayNow payments. */ - public Builder setPaynowPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments - paynowPayments) { - this.paynowPayments = paynowPayments; - return this; - } - - /** Allow the merchant to process PromptPay payments. */ - public Builder setPromptpayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments - promptpayPayments) { - this.promptpayPayments = promptpayPayments; - return this; - } - - /** Allow the merchant to process Revolut Pay payments. */ - public Builder setRevolutPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - revolutPayPayments) { - this.revolutPayPayments = revolutPayPayments; - return this; - } - - /** Allow the merchant to process Samsung Pay payments. */ - public Builder setSamsungPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - samsungPayPayments) { - this.samsungPayPayments = samsungPayPayments; - return this; - } - - /** Allow the merchant to process SEPA bank transfer payments. */ - public Builder setSepaBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - sepaBankTransferPayments) { - this.sepaBankTransferPayments = sepaBankTransferPayments; - return this; - } - - /** Allow the merchant to process SEPA Direct Debit payments. */ - public Builder setSepaDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - sepaDebitPayments) { - this.sepaDebitPayments = sepaDebitPayments; - return this; - } - - /** Allow the merchant to process Swish payments. */ - public Builder setSwishPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { - this.swishPayments = swishPayments; - return this; - } - - /** Allow the merchant to process TWINT payments. */ - public Builder setTwintPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { - this.twintPayments = twintPayments; - return this; - } - - /** Allow the merchant to process US bank transfer payments. */ - public Builder setUsBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - usBankTransferPayments) { - this.usBankTransferPayments = usBankTransferPayments; - return this; - } - - /** Allow the merchant to process Zip payments. */ - public Builder setZipPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { - this.zipPayments = zipPayments; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AchDebitPayments { /** * 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. @@ -4129,16 +3651,37 @@ public static class AchDebitPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - private AchDebitPayments(Map extraParams, Boolean requested) { + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; this.extraParams = extraParams; - this.requested = requested; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; } public static Builder builder() { @@ -4146,105 +3689,53 @@ public static Builder builder() { } public static class Builder { + private String city; + + private String country; + private Map extraParams; - private Boolean requested; + private String line1; + + private String line2; + + private String postalCode; + + private String state; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Customer.Shipping.Address build() { + return new AccountCreateParams.Configuration.Customer.Shipping.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; return this; } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setCountry(String country) { + this.country = country; return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AcssDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AcssDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( - this.extraParams, this.requested); - } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4258,8 +3749,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4269,856 +3760,4057 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AffirmPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AffirmPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments( - this.extraParams, this.requested); - } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#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); + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; return this; } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; return this; } } } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AfterpayClearpayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Merchant { + /** Settings used for Bacs debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + @SerializedName("branding") + Branding branding; - private AfterpayClearpayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Capabilities to request on the Merchant Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - public static Builder builder() { - return new Builder(); - } + /** Card payments settings. */ + @SerializedName("card_payments") + CardPayments cardPayments; - public static class Builder { - private Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Boolean requested; + /** Settings specific to Konbini payments on the account. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .AfterpayClearpayPayments(this.extraParams, this.requested); - } + /** + * The Merchant Category Code (MCC) for the Merchant Configuration. MCCs classify businesses + * based on the goods or services they provide. + */ + @SerializedName("mcc") + String mcc; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#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; - } + /** Settings for the default text that appears on statements for language variations. */ + @SerializedName("script_statement_descriptor") + ScriptStatementDescriptor scriptStatementDescriptor; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Settings used for Smart Disputes. */ + @SerializedName("smart_disputes") + SmartDisputes smartDisputes; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** Statement descriptor. */ + @SerializedName("statement_descriptor") + StatementDescriptor statementDescriptor; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AlmaPayments { - /** - * 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; + /** Publicly available contact information for sending support issues to. */ + @SerializedName("support") + Support support; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private Merchant( + BacsDebitPayments bacsDebitPayments, + Branding branding, + Capabilities capabilities, + CardPayments cardPayments, + Map extraParams, + KonbiniPayments konbiniPayments, + String mcc, + ScriptStatementDescriptor scriptStatementDescriptor, + SmartDisputes smartDisputes, + StatementDescriptor statementDescriptor, + Support support) { + this.bacsDebitPayments = bacsDebitPayments; + this.branding = branding; + this.capabilities = capabilities; + this.cardPayments = cardPayments; + this.extraParams = extraParams; + this.konbiniPayments = konbiniPayments; + this.mcc = mcc; + this.scriptStatementDescriptor = scriptStatementDescriptor; + this.smartDisputes = smartDisputes; + this.statementDescriptor = statementDescriptor; + this.support = support; + } - private AlmaPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private BacsDebitPayments bacsDebitPayments; - public static class Builder { - private Map extraParams; + private Branding branding; - private Boolean requested; + private Capabilities capabilities; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments( - this.extraParams, this.requested); - } + private CardPayments cardPayments; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private KonbiniPayments konbiniPayments; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private String mcc; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AmazonPayPayments { - /** - * 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 ScriptStatementDescriptor scriptStatementDescriptor; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private SmartDisputes smartDisputes; - private AmazonPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private StatementDescriptor statementDescriptor; - public static Builder builder() { - return new Builder(); - } + private Support support; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant build() { + return new AccountCreateParams.Configuration.Merchant( + this.bacsDebitPayments, + this.branding, + this.capabilities, + this.cardPayments, + this.extraParams, + this.konbiniPayments, + this.mcc, + this.scriptStatementDescriptor, + this.smartDisputes, + this.statementDescriptor, + this.support); + } - private Boolean requested; + /** Settings used for Bacs debit payments. */ + public Builder setBacsDebitPayments( + AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( - this.extraParams, this.requested); - } + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) { + this.branding = branding; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#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; - } + /** Capabilities to request on the Merchant Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Merchant.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Card payments settings. */ + public Builder setCardPayments( + AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AuBecsDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Settings specific to Konbini payments on the account. */ + public Builder setKonbiniPayments( + AccountCreateParams.Configuration.Merchant.KonbiniPayments konbiniPayments) { + this.konbiniPayments = konbiniPayments; + return this; + } - private AuBecsDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * The Merchant Category Code (MCC) for the Merchant Configuration. MCCs classify businesses + * based on the goods or services they provide. + */ + public Builder setMcc(String mcc) { + this.mcc = mcc; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** Settings for the default text that appears on statements for language variations. */ + public Builder setScriptStatementDescriptor( + AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor + scriptStatementDescriptor) { + this.scriptStatementDescriptor = scriptStatementDescriptor; + return this; + } - public static class Builder { - private Map extraParams; + /** Settings used for Smart Disputes. */ + public Builder setSmartDisputes( + AccountCreateParams.Configuration.Merchant.SmartDisputes smartDisputes) { + this.smartDisputes = smartDisputes; + return this; + } - private Boolean requested; + /** Statement descriptor. */ + public Builder setStatementDescriptor( + AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .AuBecsDebitPayments(this.extraParams, this.requested); - } + /** Publicly available contact information for sending support issues to. */ + public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) { + this.support = support; + return this; + } + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** Display name for Bacs Direct Debit payments. */ + @SerializedName("display_name") + String displayName; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + private BacsDebitPayments(String displayName, Map extraParams) { + this.displayName = displayName; + this.extraParams = extraParams; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static class Builder { + private String displayName; - private BacsDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Map extraParams; - public static Builder builder() { - return new Builder(); + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() { + return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments( + this.displayName, this.extraParams); } - public static class Builder { - private Map extraParams; - - private Boolean requested; + /** Display name for Bacs Direct Debit payments. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( - this.extraParams, this.requested); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + } + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Branding { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** + * ID of a file upload: + * An icon for the merchant. Must be square and at least 128px x 128px. + */ + @SerializedName("icon") + String icon; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BancontactPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * ID of a file upload: + * A logo for the merchant that will be used in Checkout instead of the icon and without the + * merchant's name next to it if provided. Must be at least 128px x 128px. + */ + @SerializedName("logo") + String logo; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** A CSS hex color value representing the primary branding color for the merchant. */ + @SerializedName("primary_color") + String primaryColor; - private BancontactPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** A CSS hex color value representing the secondary branding color for the merchant. */ + @SerializedName("secondary_color") + String secondaryColor; - public static Builder builder() { - return new Builder(); - } + private Branding( + Map extraParams, + String icon, + String logo, + String primaryColor, + String secondaryColor) { + this.extraParams = extraParams; + this.icon = icon; + this.logo = logo; + this.primaryColor = primaryColor; + this.secondaryColor = secondaryColor; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Boolean requested; + public static class Builder { + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments( - this.extraParams, this.requested); - } + private String icon; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private String logo; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + private String primaryColor; + + private String secondaryColor; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Branding build() { + return new AccountCreateParams.Configuration.Merchant.Branding( + this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BlikPayments { /** - * 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. + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setIcon(String icon) { + this.icon = icon; + return this; + } /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. */ - @SerializedName("requested") - Boolean requested; + public Builder setLogo(String logo) { + this.logo = logo; + return this; + } - private BlikPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(String primaryColor) { + this.primaryColor = primaryColor; + return this; } - public static Builder builder() { - return new Builder(); + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(String secondaryColor) { + this.secondaryColor = secondaryColor; + return this; } + } + } - public static class Builder { - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Allow the merchant to process ACH debit payments. */ + @SerializedName("ach_debit_payments") + AchDebitPayments achDebitPayments; - private Boolean requested; + /** Allow the merchant to process ACSS debit payments. */ + @SerializedName("acss_debit_payments") + AcssDebitPayments acssDebitPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments( - this.extraParams, this.requested); - } + /** Allow the merchant to process Affirm payments. */ + @SerializedName("affirm_payments") + AffirmPayments affirmPayments; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Afterpay/Clearpay payments. */ + @SerializedName("afterpay_clearpay_payments") + AfterpayClearpayPayments afterpayClearpayPayments; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** Allow the merchant to process Alma payments. */ + @SerializedName("alma_payments") + AlmaPayments almaPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BoletoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Allow the merchant to process Amazon Pay payments. */ + @SerializedName("amazon_pay_payments") + AmazonPayPayments amazonPayPayments; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + @SerializedName("au_becs_debit_payments") + AuBecsDebitPayments auBecsDebitPayments; - private BoletoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Allow the merchant to process BACS Direct Debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - public static Builder builder() { - return new Builder(); - } + /** Allow the merchant to process Bancontact payments. */ + @SerializedName("bancontact_payments") + BancontactPayments bancontactPayments; - public static class Builder { - private Map extraParams; + /** Allow the merchant to process BLIK payments. */ + @SerializedName("blik_payments") + BlikPayments blikPayments; - private Boolean requested; + /** Allow the merchant to process Boleto payments. */ + @SerializedName("boleto_payments") + BoletoPayments boletoPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments( - this.extraParams, this.requested); - } + /** Allow the merchant to collect card payments. */ + @SerializedName("card_payments") + CardPayments cardPayments; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Cartes Bancaires payments. */ + @SerializedName("cartes_bancaires_payments") + CartesBancairesPayments cartesBancairesPayments; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Cash App payments. */ + @SerializedName("cashapp_payments") + CashappPayments cashappPayments; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** Allow the merchant to process EPS payments. */ + @SerializedName("eps_payments") + EpsPayments epsPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Allow the merchant to process FPX payments. */ + @SerializedName("fpx_payments") + FpxPayments fpxPayments; - private CardPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Allow the merchant to process UK bank transfer payments. */ + @SerializedName("gb_bank_transfer_payments") + GbBankTransferPayments gbBankTransferPayments; - public static Builder builder() { - return new Builder(); - } + /** Allow the merchant to process GrabPay payments. */ + @SerializedName("grabpay_payments") + GrabpayPayments grabpayPayments; - public static class Builder { - private Map extraParams; + /** Allow the merchant to process iDEAL payments. */ + @SerializedName("ideal_payments") + IdealPayments idealPayments; - private Boolean requested; + /** Allow the merchant to process JCB card payments. */ + @SerializedName("jcb_payments") + JcbPayments jcbPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments( - this.extraParams, this.requested); - } + /** Allow the merchant to process Japanese bank transfer payments. */ + @SerializedName("jp_bank_transfer_payments") + JpBankTransferPayments jpBankTransferPayments; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Kakao Pay payments. */ + @SerializedName("kakao_pay_payments") + KakaoPayPayments kakaoPayPayments; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Klarna payments. */ + @SerializedName("klarna_payments") + KlarnaPayments klarnaPayments; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** Allow the merchant to process Konbini convenience store payments. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CartesBancairesPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Allow the merchant to process Korean card payments. */ + @SerializedName("kr_card_payments") + KrCardPayments krCardPayments; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Allow the merchant to process Link payments. */ + @SerializedName("link_payments") + LinkPayments linkPayments; - private CartesBancairesPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Allow the merchant to process MobilePay payments. */ + @SerializedName("mobilepay_payments") + MobilepayPayments mobilepayPayments; + + /** Allow the merchant to process Multibanco payments. */ + @SerializedName("multibanco_payments") + MultibancoPayments multibancoPayments; + + /** Allow the merchant to process Mexican bank transfer payments. */ + @SerializedName("mx_bank_transfer_payments") + MxBankTransferPayments mxBankTransferPayments; + + /** Allow the merchant to process Naver Pay payments. */ + @SerializedName("naver_pay_payments") + NaverPayPayments naverPayPayments; + + /** Allow the merchant to process OXXO payments. */ + @SerializedName("oxxo_payments") + OxxoPayments oxxoPayments; + + /** Allow the merchant to process Przelewy24 (P24) payments. */ + @SerializedName("p24_payments") + P24Payments p24Payments; + + /** Allow the merchant to process Pay by Bank payments. */ + @SerializedName("pay_by_bank_payments") + PayByBankPayments payByBankPayments; + + /** Allow the merchant to process PAYCO payments. */ + @SerializedName("payco_payments") + PaycoPayments paycoPayments; + + /** Allow the merchant to process PayNow payments. */ + @SerializedName("paynow_payments") + PaynowPayments paynowPayments; + + /** Allow the merchant to process PromptPay payments. */ + @SerializedName("promptpay_payments") + PromptpayPayments promptpayPayments; + + /** Allow the merchant to process Revolut Pay payments. */ + @SerializedName("revolut_pay_payments") + RevolutPayPayments revolutPayPayments; + + /** Allow the merchant to process Samsung Pay payments. */ + @SerializedName("samsung_pay_payments") + SamsungPayPayments samsungPayPayments; + + /** Allow the merchant to process SEPA bank transfer payments. */ + @SerializedName("sepa_bank_transfer_payments") + SepaBankTransferPayments sepaBankTransferPayments; + + /** Allow the merchant to process SEPA Direct Debit payments. */ + @SerializedName("sepa_debit_payments") + SepaDebitPayments sepaDebitPayments; + + /** Allow the merchant to process Swish payments. */ + @SerializedName("swish_payments") + SwishPayments swishPayments; + + /** Allow the merchant to process TWINT payments. */ + @SerializedName("twint_payments") + TwintPayments twintPayments; + + /** Allow the merchant to process US bank transfer payments. */ + @SerializedName("us_bank_transfer_payments") + UsBankTransferPayments usBankTransferPayments; + + /** Allow the merchant to process Zip payments. */ + @SerializedName("zip_payments") + ZipPayments zipPayments; + + private Capabilities( + AchDebitPayments achDebitPayments, + AcssDebitPayments acssDebitPayments, + AffirmPayments affirmPayments, + AfterpayClearpayPayments afterpayClearpayPayments, + AlmaPayments almaPayments, + AmazonPayPayments amazonPayPayments, + AuBecsDebitPayments auBecsDebitPayments, + BacsDebitPayments bacsDebitPayments, + BancontactPayments bancontactPayments, + BlikPayments blikPayments, + BoletoPayments boletoPayments, + CardPayments cardPayments, + CartesBancairesPayments cartesBancairesPayments, + CashappPayments cashappPayments, + EpsPayments epsPayments, + Map extraParams, + FpxPayments fpxPayments, + GbBankTransferPayments gbBankTransferPayments, + GrabpayPayments grabpayPayments, + IdealPayments idealPayments, + JcbPayments jcbPayments, + JpBankTransferPayments jpBankTransferPayments, + KakaoPayPayments kakaoPayPayments, + KlarnaPayments klarnaPayments, + KonbiniPayments konbiniPayments, + KrCardPayments krCardPayments, + LinkPayments linkPayments, + MobilepayPayments mobilepayPayments, + MultibancoPayments multibancoPayments, + MxBankTransferPayments mxBankTransferPayments, + NaverPayPayments naverPayPayments, + OxxoPayments oxxoPayments, + P24Payments p24Payments, + PayByBankPayments payByBankPayments, + PaycoPayments paycoPayments, + PaynowPayments paynowPayments, + PromptpayPayments promptpayPayments, + RevolutPayPayments revolutPayPayments, + SamsungPayPayments samsungPayPayments, + SepaBankTransferPayments sepaBankTransferPayments, + SepaDebitPayments sepaDebitPayments, + SwishPayments swishPayments, + TwintPayments twintPayments, + UsBankTransferPayments usBankTransferPayments, + ZipPayments zipPayments) { + this.achDebitPayments = achDebitPayments; + this.acssDebitPayments = acssDebitPayments; + this.affirmPayments = affirmPayments; + this.afterpayClearpayPayments = afterpayClearpayPayments; + this.almaPayments = almaPayments; + this.amazonPayPayments = amazonPayPayments; + this.auBecsDebitPayments = auBecsDebitPayments; + this.bacsDebitPayments = bacsDebitPayments; + this.bancontactPayments = bancontactPayments; + this.blikPayments = blikPayments; + this.boletoPayments = boletoPayments; + this.cardPayments = cardPayments; + this.cartesBancairesPayments = cartesBancairesPayments; + this.cashappPayments = cashappPayments; + this.epsPayments = epsPayments; + this.extraParams = extraParams; + this.fpxPayments = fpxPayments; + this.gbBankTransferPayments = gbBankTransferPayments; + this.grabpayPayments = grabpayPayments; + this.idealPayments = idealPayments; + this.jcbPayments = jcbPayments; + this.jpBankTransferPayments = jpBankTransferPayments; + this.kakaoPayPayments = kakaoPayPayments; + this.klarnaPayments = klarnaPayments; + this.konbiniPayments = konbiniPayments; + this.krCardPayments = krCardPayments; + this.linkPayments = linkPayments; + this.mobilepayPayments = mobilepayPayments; + this.multibancoPayments = multibancoPayments; + this.mxBankTransferPayments = mxBankTransferPayments; + this.naverPayPayments = naverPayPayments; + this.oxxoPayments = oxxoPayments; + this.p24Payments = p24Payments; + this.payByBankPayments = payByBankPayments; + this.paycoPayments = paycoPayments; + this.paynowPayments = paynowPayments; + this.promptpayPayments = promptpayPayments; + this.revolutPayPayments = revolutPayPayments; + this.samsungPayPayments = samsungPayPayments; + this.sepaBankTransferPayments = sepaBankTransferPayments; + this.sepaDebitPayments = sepaDebitPayments; + this.swishPayments = swishPayments; + this.twintPayments = twintPayments; + this.usBankTransferPayments = usBankTransferPayments; + this.zipPayments = zipPayments; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AchDebitPayments achDebitPayments; + + private AcssDebitPayments acssDebitPayments; + + private AffirmPayments affirmPayments; + + private AfterpayClearpayPayments afterpayClearpayPayments; + + private AlmaPayments almaPayments; + + private AmazonPayPayments amazonPayPayments; + + private AuBecsDebitPayments auBecsDebitPayments; + + private BacsDebitPayments bacsDebitPayments; + + private BancontactPayments bancontactPayments; + + private BlikPayments blikPayments; + + private BoletoPayments boletoPayments; + + private CardPayments cardPayments; + + private CartesBancairesPayments cartesBancairesPayments; + + private CashappPayments cashappPayments; + + private EpsPayments epsPayments; + + private Map extraParams; + + private FpxPayments fpxPayments; + + private GbBankTransferPayments gbBankTransferPayments; + + private GrabpayPayments grabpayPayments; + + private IdealPayments idealPayments; + + private JcbPayments jcbPayments; + + private JpBankTransferPayments jpBankTransferPayments; + + private KakaoPayPayments kakaoPayPayments; + + private KlarnaPayments klarnaPayments; + + private KonbiniPayments konbiniPayments; + + private KrCardPayments krCardPayments; + + private LinkPayments linkPayments; + + private MobilepayPayments mobilepayPayments; + + private MultibancoPayments multibancoPayments; + + private MxBankTransferPayments mxBankTransferPayments; + + private NaverPayPayments naverPayPayments; + + private OxxoPayments oxxoPayments; + + private P24Payments p24Payments; + + private PayByBankPayments payByBankPayments; + + private PaycoPayments paycoPayments; + + private PaynowPayments paynowPayments; + + private PromptpayPayments promptpayPayments; + + private RevolutPayPayments revolutPayPayments; + + private SamsungPayPayments samsungPayPayments; + + private SepaBankTransferPayments sepaBankTransferPayments; + + private SepaDebitPayments sepaDebitPayments; + + private SwishPayments swishPayments; + + private TwintPayments twintPayments; + + private UsBankTransferPayments usBankTransferPayments; + + private ZipPayments zipPayments; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities( + this.achDebitPayments, + this.acssDebitPayments, + this.affirmPayments, + this.afterpayClearpayPayments, + this.almaPayments, + this.amazonPayPayments, + this.auBecsDebitPayments, + this.bacsDebitPayments, + this.bancontactPayments, + this.blikPayments, + this.boletoPayments, + this.cardPayments, + this.cartesBancairesPayments, + this.cashappPayments, + this.epsPayments, + this.extraParams, + this.fpxPayments, + this.gbBankTransferPayments, + this.grabpayPayments, + this.idealPayments, + this.jcbPayments, + this.jpBankTransferPayments, + this.kakaoPayPayments, + this.klarnaPayments, + this.konbiniPayments, + this.krCardPayments, + this.linkPayments, + this.mobilepayPayments, + this.multibancoPayments, + this.mxBankTransferPayments, + this.naverPayPayments, + this.oxxoPayments, + this.p24Payments, + this.payByBankPayments, + this.paycoPayments, + this.paynowPayments, + this.promptpayPayments, + this.revolutPayPayments, + this.samsungPayPayments, + this.sepaBankTransferPayments, + this.sepaDebitPayments, + this.swishPayments, + this.twintPayments, + this.usBankTransferPayments, + this.zipPayments); + } + + /** Allow the merchant to process ACH debit payments. */ + public Builder setAchDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments + achDebitPayments) { + this.achDebitPayments = achDebitPayments; + return this; + } + + /** Allow the merchant to process ACSS debit payments. */ + public Builder setAcssDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + acssDebitPayments) { + this.acssDebitPayments = acssDebitPayments; + return this; + } + + /** Allow the merchant to process Affirm payments. */ + public Builder setAffirmPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments + affirmPayments) { + this.affirmPayments = affirmPayments; + return this; + } + + /** Allow the merchant to process Afterpay/Clearpay payments. */ + public Builder setAfterpayClearpayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + afterpayClearpayPayments) { + this.afterpayClearpayPayments = afterpayClearpayPayments; + return this; + } + + /** Allow the merchant to process Alma payments. */ + public Builder setAlmaPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { + this.almaPayments = almaPayments; + return this; + } + + /** Allow the merchant to process Amazon Pay payments. */ + public Builder setAmazonPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + amazonPayPayments) { + this.amazonPayPayments = amazonPayPayments; + return this; + } + + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + public Builder setAuBecsDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + auBecsDebitPayments) { + this.auBecsDebitPayments = auBecsDebitPayments; + return this; + } + + /** Allow the merchant to process BACS Direct Debit payments. */ + public Builder setBacsDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } + + /** Allow the merchant to process Bancontact payments. */ + public Builder setBancontactPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments + bancontactPayments) { + this.bancontactPayments = bancontactPayments; + return this; + } + + /** Allow the merchant to process BLIK payments. */ + public Builder setBlikPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { + this.blikPayments = blikPayments; + return this; + } + + /** Allow the merchant to process Boleto payments. */ + public Builder setBoletoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments + boletoPayments) { + this.boletoPayments = boletoPayments; + return this; + } + + /** Allow the merchant to collect card payments. */ + public Builder setCardPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } + + /** Allow the merchant to process Cartes Bancaires payments. */ + public Builder setCartesBancairesPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + cartesBancairesPayments) { + this.cartesBancairesPayments = cartesBancairesPayments; + return this; + } + + /** Allow the merchant to process Cash App payments. */ + public Builder setCashappPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments + cashappPayments) { + this.cashappPayments = cashappPayments; + return this; + } + + /** Allow the merchant to process EPS payments. */ + public Builder setEpsPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { + this.epsPayments = epsPayments; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Allow the merchant to process FPX payments. */ + public Builder setFpxPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { + this.fpxPayments = fpxPayments; + return this; + } + + /** Allow the merchant to process UK bank transfer payments. */ + public Builder setGbBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + gbBankTransferPayments) { + this.gbBankTransferPayments = gbBankTransferPayments; + return this; + } + + /** Allow the merchant to process GrabPay payments. */ + public Builder setGrabpayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments + grabpayPayments) { + this.grabpayPayments = grabpayPayments; + return this; + } + + /** Allow the merchant to process iDEAL payments. */ + public Builder setIdealPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { + this.idealPayments = idealPayments; + return this; + } + + /** Allow the merchant to process JCB card payments. */ + public Builder setJcbPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { + this.jcbPayments = jcbPayments; + return this; + } + + /** Allow the merchant to process Japanese bank transfer payments. */ + public Builder setJpBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + jpBankTransferPayments) { + this.jpBankTransferPayments = jpBankTransferPayments; + return this; + } + + /** Allow the merchant to process Kakao Pay payments. */ + public Builder setKakaoPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + kakaoPayPayments) { + this.kakaoPayPayments = kakaoPayPayments; + return this; + } + + /** Allow the merchant to process Klarna payments. */ + public Builder setKlarnaPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments + klarnaPayments) { + this.klarnaPayments = klarnaPayments; + return this; + } + + /** Allow the merchant to process Konbini convenience store payments. */ + public Builder setKonbiniPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments + konbiniPayments) { + this.konbiniPayments = konbiniPayments; + return this; + } + + /** Allow the merchant to process Korean card payments. */ + public Builder setKrCardPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments + krCardPayments) { + this.krCardPayments = krCardPayments; + return this; + } + + /** Allow the merchant to process Link payments. */ + public Builder setLinkPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { + this.linkPayments = linkPayments; + return this; + } + + /** Allow the merchant to process MobilePay payments. */ + public Builder setMobilepayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments + mobilepayPayments) { + this.mobilepayPayments = mobilepayPayments; + return this; + } + + /** Allow the merchant to process Multibanco payments. */ + public Builder setMultibancoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments + multibancoPayments) { + this.multibancoPayments = multibancoPayments; + return this; + } + + /** Allow the merchant to process Mexican bank transfer payments. */ + public Builder setMxBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + mxBankTransferPayments) { + this.mxBankTransferPayments = mxBankTransferPayments; + return this; + } + + /** Allow the merchant to process Naver Pay payments. */ + public Builder setNaverPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments + naverPayPayments) { + this.naverPayPayments = naverPayPayments; + return this; + } + + /** Allow the merchant to process OXXO payments. */ + public Builder setOxxoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { + this.oxxoPayments = oxxoPayments; + return this; + } + + /** Allow the merchant to process Przelewy24 (P24) payments. */ + public Builder setP24Payments( + AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { + this.p24Payments = p24Payments; + return this; + } + + /** Allow the merchant to process Pay by Bank payments. */ + public Builder setPayByBankPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments + payByBankPayments) { + this.payByBankPayments = payByBankPayments; + return this; + } + + /** Allow the merchant to process PAYCO payments. */ + public Builder setPaycoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { + this.paycoPayments = paycoPayments; + return this; + } + + /** Allow the merchant to process PayNow payments. */ + public Builder setPaynowPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments + paynowPayments) { + this.paynowPayments = paynowPayments; + return this; + } + + /** Allow the merchant to process PromptPay payments. */ + public Builder setPromptpayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments + promptpayPayments) { + this.promptpayPayments = promptpayPayments; + return this; + } + + /** Allow the merchant to process Revolut Pay payments. */ + public Builder setRevolutPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + revolutPayPayments) { + this.revolutPayPayments = revolutPayPayments; + return this; + } + + /** Allow the merchant to process Samsung Pay payments. */ + public Builder setSamsungPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + samsungPayPayments) { + this.samsungPayPayments = samsungPayPayments; + return this; + } + + /** Allow the merchant to process SEPA bank transfer payments. */ + public Builder setSepaBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + sepaBankTransferPayments) { + this.sepaBankTransferPayments = sepaBankTransferPayments; + return this; + } + + /** Allow the merchant to process SEPA Direct Debit payments. */ + public Builder setSepaDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + sepaDebitPayments) { + this.sepaDebitPayments = sepaDebitPayments; + return this; + } + + /** Allow the merchant to process Swish payments. */ + public Builder setSwishPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { + this.swishPayments = swishPayments; + return this; + } + + /** Allow the merchant to process TWINT payments. */ + public Builder setTwintPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { + this.twintPayments = twintPayments; + return this; + } + + /** Allow the merchant to process US bank transfer payments. */ + public Builder setUsBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + usBankTransferPayments) { + this.usBankTransferPayments = usBankTransferPayments; + return this; + } + + /** Allow the merchant to process Zip payments. */ + public Builder setZipPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { + this.zipPayments = zipPayments; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AchDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AchDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AcssDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AcssDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AffirmPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AffirmPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AfterpayClearpayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AfterpayClearpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .AfterpayClearpayPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AlmaPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AlmaPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AmazonPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AmazonPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AuBecsDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AuBecsDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .AuBecsDebitPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BacsDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BancontactPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BancontactPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BlikPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BlikPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BoletoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BoletoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private CardPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CartesBancairesPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private CartesBancairesPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .CartesBancairesPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CashappPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private CashappPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EpsPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private EpsPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FpxPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FpxPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GbBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private GbBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .GbBankTransferPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GrabpayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private GrabpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdealPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private IdealPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class JcbPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private JcbPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class JpBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private JpBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .JpBankTransferPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private KakaoPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KlarnaPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private KlarnaPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KonbiniPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private KonbiniPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KrCardPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private KrCardPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class LinkPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private LinkPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MobilepayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private MobilepayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MultibancoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private MultibancoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MxBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private MxBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .MxBankTransferPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class NaverPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private NaverPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OxxoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private OxxoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class P24Payments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private P24Payments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PayByBankPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private PayByBankPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaycoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private PaycoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaynowPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private PaynowPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } public static Builder builder() { return new Builder(); @@ -5130,17 +7822,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .CartesBancairesPayments(this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5155,7 +7846,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5179,7 +7870,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CashappPayments { + public static class PromptpayPayments { /** * 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. @@ -5197,7 +7888,7 @@ public static class CashappPayments { @SerializedName("requested") Boolean requested; - private CashappPayments(Map extraParams, Boolean requested) { + private PromptpayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5212,8 +7903,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments( this.extraParams, this.requested); } @@ -5221,7 +7913,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5236,7 +7928,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5260,7 +7952,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class EpsPayments { + public static class RevolutPayPayments { /** * 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. @@ -5278,7 +7970,7 @@ public static class EpsPayments { @SerializedName("requested") Boolean requested; - private EpsPayments(Map extraParams, Boolean requested) { + private RevolutPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5293,8 +7985,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( this.extraParams, this.requested); } @@ -5302,8 +7995,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5317,8 +8010,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5341,7 +8034,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FpxPayments { + public static class SamsungPayPayments { /** * 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. @@ -5359,7 +8052,7 @@ public static class FpxPayments { @SerializedName("requested") Boolean requested; - private FpxPayments(Map extraParams, Boolean requested) { + private SamsungPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5374,8 +8067,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( this.extraParams, this.requested); } @@ -5383,8 +8077,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5398,8 +8092,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5422,7 +8116,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GbBankTransferPayments { + public static class SepaBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5440,7 +8134,7 @@ public static class GbBankTransferPayments { @SerializedName("requested") Boolean requested; - private GbBankTransferPayments(Map extraParams, Boolean requested) { + private SepaBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5455,17 +8149,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + public AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments build() { return new AccountCreateParams.Configuration.Merchant.Capabilities - .GbBankTransferPayments(this.extraParams, this.requested); + .SepaBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5480,7 +8174,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5504,7 +8198,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GrabpayPayments { + public static class SepaDebitPayments { /** * 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. @@ -5522,7 +8216,7 @@ public static class GrabpayPayments { @SerializedName("requested") Boolean requested; - private GrabpayPayments(Map extraParams, Boolean requested) { + private SepaDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5537,8 +8231,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( this.extraParams, this.requested); } @@ -5546,7 +8241,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5561,7 +8256,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5585,7 +8280,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class IdealPayments { + public static class SwishPayments { /** * 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. @@ -5603,7 +8298,7 @@ public static class IdealPayments { @SerializedName("requested") Boolean requested; - private IdealPayments(Map extraParams, Boolean requested) { + private SwishPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5618,8 +8313,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments( this.extraParams, this.requested); } @@ -5627,7 +8322,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5642,7 +8337,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5666,7 +8361,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JcbPayments { + public static class TwintPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5684,7 +8379,7 @@ public static class JcbPayments { @SerializedName("requested") Boolean requested; - private JcbPayments(Map extraParams, Boolean requested) { + private TwintPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5699,8 +8394,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments( this.extraParams, this.requested); } @@ -5708,8 +8403,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5723,8 +8418,90 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class UsBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private UsBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .UsBankTransferPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5747,7 +8524,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JpBankTransferPayments { + public static class ZipPayments { /** * 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. @@ -5765,7 +8542,7 @@ public static class JpBankTransferPayments { @SerializedName("requested") Boolean requested; - private JpBankTransferPayments(Map extraParams, Boolean requested) { + private ZipPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5780,18 +8557,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .JpBankTransferPayments(this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5805,8 +8581,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5826,10 +8602,105 @@ public Builder setRequested(Boolean requested) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardPayments { + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + @SerializedName("decline_on") + DeclineOn declineOn; + + /** + * 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 CardPayments(DeclineOn declineOn, Map extraParams) { + this.declineOn = declineOn; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DeclineOn declineOn; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.CardPayments build() { + return new AccountCreateParams.Configuration.Merchant.CardPayments( + this.declineOn, this.extraParams); + } + + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + public Builder setDeclineOn( + AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { + this.declineOn = declineOn; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class KakaoPayPayments { + public static class DeclineOn { + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + @SerializedName("avs_failure") + Boolean avsFailure; + + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting only + * applies when a CVC is provided and it fails bank verification. + */ + @SerializedName("cvc_failure") + Boolean cvcFailure; + /** * 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. @@ -5840,16 +8711,11 @@ public static class KakaoPayPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private KakaoPayPayments(Map extraParams, Boolean requested) { + private DeclineOn( + Boolean avsFailure, Boolean cvcFailure, Map extraParams) { + this.avsFailure = avsFailure; + this.cvcFailure = cvcFailure; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -5857,23 +8723,43 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private Boolean avsFailure; - private Boolean requested; + private Boolean cvcFailure; + + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn build() { + return new AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn( + this.avsFailure, this.cvcFailure, this.extraParams); + } + + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + public Builder setAvsFailure(Boolean avsFailure) { + this.avsFailure = avsFailure; + return this; + } + + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting + * only applies when a CVC is provided and it fails bank verification. + */ + public Builder setCvcFailure(Boolean cvcFailure) { + this.cvcFailure = cvcFailure; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5887,8 +8773,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5897,21 +8783,90 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + } + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KonbiniPayments { + /** + * 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; + + /** Support for Konbini payments. */ + @SerializedName("support") + Support support; + + private KonbiniPayments(Map extraParams, Support support) { + this.extraParams = extraParams; + this.support = support; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Support support; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.KonbiniPayments build() { + return new AccountCreateParams.Configuration.Merchant.KonbiniPayments( + this.extraParams, this.support); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.KonbiniPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.KonbiniPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** Support for Konbini payments. */ + public Builder setSupport( + AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support support) { + this.support = support; + return this; } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KlarnaPayments { + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Support { + /** Support email address for Konbini payments. */ + @SerializedName("email") + String email; + /** * 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. @@ -5922,16 +8877,20 @@ public static class KlarnaPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Support hours for Konbini payments. */ + @SerializedName("hours") + Hours hours; - private KlarnaPayments(Map extraParams, Boolean requested) { + /** Support phone number for Konbini payments. */ + @SerializedName("phone") + String phone; + + private Support( + String email, Map extraParams, Hours hours, String phone) { + this.email = email; this.extraParams = extraParams; - this.requested = requested; + this.hours = hours; + this.phone = phone; } public static Builder builder() { @@ -5939,22 +8898,32 @@ public static Builder builder() { } public static class Builder { + private String email; + private Map extraParams; - private Boolean requested; + private Hours hours; + + private String phone; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support build() { + return new AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support( + this.email, this.extraParams, this.hours, this.phone); + } + + /** Support email address for Konbini payments. */ + public Builder setEmail(String email) { + this.email = email; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5968,8 +8937,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5979,20 +8948,235 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Support hours for Konbini payments. */ + public Builder setHours( + AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours hours) { + this.hours = hours; + return this; + } + + /** Support phone number for Konbini payments. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Hours { + /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ + @SerializedName("end_time") + String endTime; + /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ + @SerializedName("start_time") + String startTime; + + private Hours(String endTime, Map extraParams, String startTime) { + this.endTime = endTime; + this.extraParams = extraParams; + this.startTime = startTime; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String endTime; + + private Map extraParams; + + private String startTime; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours + build() { + return new AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours( + this.endTime, this.extraParams, this.startTime); + } + + /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ + public Builder setEndTime(String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ + public Builder setStartTime(String startTime) { + this.startTime = startTime; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptStatementDescriptor { + /** + * 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 Kana variation of statement_descriptor used for charges in Japan. Japanese statement + * descriptors have special + * requirements. + */ + @SerializedName("kana") + Kana kana; + + /** + * The Kanji variation of statement_descriptor used for charges in Japan. Japanese statement + * descriptors have special + * requirements. + */ + @SerializedName("kanji") + Kanji kanji; + + private ScriptStatementDescriptor(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Kana kana; + + private Kanji kanji; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor build() { + return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor( + this.extraParams, this.kana, this.kanji); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor#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 Kana variation of statement_descriptor used for charges in Japan. Japanese + * statement descriptors have special + * requirements. + */ + public Builder setKana( + AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana kana) { + this.kana = kana; + return this; + } + + /** + * The Kanji variation of statement_descriptor used for charges in Japan. Japanese + * statement descriptors have special + * requirements. + */ + public Builder setKanji( + AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji kanji) { + this.kanji = kanji; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { + public static class Kana { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + @SerializedName("descriptor") + String descriptor; + /** * 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. @@ -6004,15 +9188,20 @@ public static class KonbiniPayments { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("prefix") + String prefix; - private KonbiniPayments(Map extraParams, Boolean requested) { + private Kana(String descriptor, Map extraParams, String prefix) { + this.descriptor = descriptor; this.extraParams = extraParams; - this.requested = requested; + this.prefix = prefix; } public static Builder builder() { @@ -6020,21 +9209,38 @@ public static Builder builder() { } public static class Builder { + private String descriptor; + private Map extraParams; - private Boolean requested; + private String prefix; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana + build() { + return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana( + this.descriptor, this.extraParams, this.prefix); + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. + * For card charges, if you don’t set a statement_descriptor_prefix, this text is also + * used as the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, + * we truncate the statement_descriptor text to limit the full descriptor to 22 + * characters. For more information about statement descriptors and their requirements, + * see the Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6049,7 +9255,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6061,11 +9267,15 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space + * for the dynamic part of the descriptor, keep this text short. If you don’t specify + * this value, statement_descriptor is used as the prefix. For more information about + * statement descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setPrefix(String prefix) { + this.prefix = prefix; return this; } } @@ -6073,7 +9283,19 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KrCardPayments { + public static class Kanji { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + @SerializedName("descriptor") + String descriptor; + /** * 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. @@ -6085,15 +9307,20 @@ public static class KrCardPayments { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("prefix") + String prefix; - private KrCardPayments(Map extraParams, Boolean requested) { + private Kanji(String descriptor, Map extraParams, String prefix) { + this.descriptor = descriptor; this.extraParams = extraParams; - this.requested = requested; + this.prefix = prefix; } public static Builder builder() { @@ -6101,21 +9328,38 @@ public static Builder builder() { } public static class Builder { + private String descriptor; + private Map extraParams; - private Boolean requested; + private String prefix; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji + build() { + return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji( + this.descriptor, this.extraParams, this.prefix); + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. + * For card charges, if you don’t set a statement_descriptor_prefix, this text is also + * used as the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, + * we truncate the statement_descriptor text to limit the full descriptor to 22 + * characters. For more information about statement descriptors and their requirements, + * see the Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6130,7 +9374,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6142,100 +9386,97 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space + * for the dynamic part of the descriptor, keep this text short. If you don’t specify + * this value, statement_descriptor is used as the prefix. For more information about + * statement descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setPrefix(String prefix) { + this.prefix = prefix; return this; } } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class LinkPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SmartDisputes { + /** Settings for Smart Disputes auto_respond. */ + @SerializedName("auto_respond") + AutoRespond autoRespond; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * 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 LinkPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private SmartDisputes(AutoRespond autoRespond, Map extraParams) { + this.autoRespond = autoRespond; + this.extraParams = extraParams; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private AutoRespond autoRespond; - private Boolean requested; + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments( - this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.SmartDisputes build() { + return new AccountCreateParams.Configuration.Merchant.SmartDisputes( + this.autoRespond, 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 - * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#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; - } + /** Settings for Smart Disputes auto_respond. */ + public Builder setAutoRespond( + AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond autoRespond) { + this.autoRespond = autoRespond; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.SmartDisputes#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; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.SmartDisputes#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class MobilepayPayments { + public static class AutoRespond { /** * 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. @@ -6246,16 +9487,13 @@ public static class MobilepayPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** The preference for Smart Disputes auto-respond. */ + @SerializedName("preference") + Preference preference; - private MobilepayPayments(Map extraParams, Boolean requested) { + private AutoRespond(Map extraParams, Preference preference) { this.extraParams = extraParams; - this.requested = requested; + this.preference = preference; } public static Builder builder() { @@ -6265,21 +9503,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private Preference preference; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond build() { + return new AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond( + 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 - * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6293,8 +9530,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6304,184 +9541,285 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** The preference for Smart Disputes auto-respond. */ + public Builder setPreference( + AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond.Preference + preference) { + this.preference = preference; return this; } } + + public enum Preference implements ApiRequestParams.EnumParam { + @SerializedName("inherit") + INHERIT("inherit"), + + @SerializedName("off") + OFF("off"), + + @SerializedName("on") + ON("on"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Preference(String value) { + this.value = value; + } + } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StatementDescriptor { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement descriptor + * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + * statement_descriptor text to limit the full descriptor to 22 characters. For more + * information about statement descriptors and their requirements, see the Merchant + * Configuration settings documentation. + */ + @SerializedName("descriptor") + String descriptor; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing any + * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + * dynamic part of the descriptor, keep this text short. If you don’t specify this value, + * statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + @SerializedName("prefix") + String prefix; + + private StatementDescriptor( + String descriptor, Map extraParams, String prefix) { + this.descriptor = descriptor; + this.extraParams = extraParams; + this.prefix = prefix; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String descriptor; + + private Map extraParams; + + private String prefix; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.StatementDescriptor build() { + return new AccountCreateParams.Configuration.Merchant.StatementDescriptor( + this.descriptor, this.extraParams, this.prefix); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MultibancoPayments { /** - * 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. + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. */ - @SerializedName("requested") - Boolean requested; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Support { + /** A publicly available mailing address for sending support issues to. */ + @SerializedName("address") + Address address; + + /** A publicly available email address for sending support issues to. */ + @SerializedName("email") + String email; + + /** + * 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 publicly available phone number to call with support issues. */ + @SerializedName("phone") + String phone; + + /** A publicly available website for handling support issues. */ + @SerializedName("url") + String url; + + private Support( + Address address, + String email, + Map extraParams, + String phone, + String url) { + this.address = address; + this.email = email; + this.extraParams = extraParams; + this.phone = phone; + this.url = url; + } + + public static Builder builder() { + return new Builder(); + } - private MultibancoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static class Builder { + private Address address; - public static Builder builder() { - return new Builder(); - } + private String email; - public static class Builder { - private Map extraParams; + private Map extraParams; - private Boolean requested; + private String phone; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments( - this.extraParams, this.requested); - } + private String url; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Support build() { + return new AccountCreateParams.Configuration.Merchant.Support( + this.address, this.email, this.extraParams, this.phone, this.url); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#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 publicly available mailing address for sending support issues to. */ + public Builder setAddress( + AccountCreateParams.Configuration.Merchant.Support.Address address) { + this.address = address; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** A publicly available email address for sending support issues to. */ + public Builder setEmail(String email) { + this.email = email; + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MxBankTransferPayments { /** - * 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. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. */ - @SerializedName("requested") - Boolean requested; - - private MxBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - public static Builder builder() { - return new Builder(); + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; } - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .MxBankTransferPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** A publicly available website for handling support issues. */ + public Builder setUrl(String url) { + this.url = url; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class NaverPayPayments { + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + /** * 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. @@ -6492,16 +9830,43 @@ public static class NaverPayPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - private NaverPayPayments(Map extraParams, Boolean requested) { + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + /** Town or district. */ + @SerializedName("town") + String town; + + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state, + String town) { + this.city = city; + this.country = country; this.extraParams = extraParams; - this.requested = requested; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; } public static Builder builder() { @@ -6509,23 +9874,56 @@ public static Builder builder() { } public static class Builder { + private String city; + + private String country; + private Map extraParams; - private Boolean requested; + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + private String town; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Support.Address build() { + return new AccountCreateParams.Configuration.Merchant.Support.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments( - this.extraParams, this.requested); + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6539,8 +9937,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6550,20 +9948,245 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; return this; } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** Town or district. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Recipient { + /** Capabilities to be requested on the Recipient Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** + * 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 Recipient(Capabilities capabilities, Map extraParams) { + this.capabilities = capabilities; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Capabilities capabilities; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient build() { + return new AccountCreateParams.Configuration.Recipient( + this.capabilities, this.extraParams); + } + + /** Capabilities to be requested on the Recipient Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * 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; + + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; + + private Capabilities( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.stripeBalance = stripeBalance; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private StripeBalance stripeBalance; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.stripeBalance); + } + + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + public Builder setCards( + AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; + } + + /** + * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. + */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + */ + public Builder setStripeBalance( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class OxxoPayments { + public static class BankAccounts { /** * 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. @@ -6575,15 +10198,36 @@ public static class OxxoPayments { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Enables this Account to receive OutboundPayments to linked bank accounts over real time + * rails. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("instant") + com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant; - private OxxoPayments(Map extraParams, Boolean requested) { + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + @SerializedName("local") + Local local; + + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + private BankAccounts( + Map extraParams, + com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant, + Local local, + Wire wire) { this.extraParams = extraParams; - this.requested = requested; + this.instant = instant; + this.local = local; + this.wire = wire; } public static Builder builder() { @@ -6593,20 +10237,26 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient + .Capabilities.BankAccounts.Instant + instant; + + private Local local; + + private Wire wire; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts( + this.extraParams, this.instant, this.local, this.wire); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6620,8 +10270,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6632,263 +10282,286 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Enables this Account to receive OutboundPayments to linked bank accounts over real + * time rails. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setInstant( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + instant) { + this.instant = instant; return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class P24Payments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private P24Payments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments( - this.extraParams, this.requested); - } /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); + public Builder setLocal( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { + this.local = local; return this; } /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + public Builder setWire( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { + this.wire = wire; return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Instant { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Instant(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PayByBankPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static Builder builder() { + return new Builder(); + } - private PayByBankPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static class Builder { + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Boolean requested; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant(this.extraParams, this.requested); + } - private Boolean requested; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments( - this.extraParams, this.requested); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#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 a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.put(key, value); - return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Local { /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} - * for the field documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Local(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PaycoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static Builder builder() { + return new Builder(); + } - private PaycoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static class Builder { + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Boolean requested; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local(this.extraParams, this.requested); + } - private Boolean requested; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments( - this.extraParams, this.requested); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#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 a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.put(key, value); - return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Wire { /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} - * for the field documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Wire(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PaynowPayments { + public static class Cards { /** * 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. @@ -6906,7 +10579,7 @@ public static class PaynowPayments { @SerializedName("requested") Boolean requested; - private PaynowPayments(Map extraParams, Boolean requested) { + private Cards(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6921,8 +10594,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments( + public AccountCreateParams.Configuration.Recipient.Capabilities.Cards build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards( this.extraParams, this.requested); } @@ -6930,8 +10603,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6945,8 +10618,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6969,7 +10642,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PromptpayPayments { + public static class CryptoWallets { /** * 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. @@ -6987,7 +10660,7 @@ public static class PromptpayPayments { @SerializedName("requested") Boolean requested; - private PromptpayPayments(Map extraParams, Boolean requested) { + private CryptoWallets(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7002,9 +10675,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments( + public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets( this.extraParams, this.requested); } @@ -7012,7 +10684,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7027,7 +10699,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7051,7 +10723,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class RevolutPayPayments { + public static class StripeBalance { /** * 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. @@ -7063,15 +10735,14 @@ public static class RevolutPayPayments { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). */ - @SerializedName("requested") - Boolean requested; + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - private RevolutPayPayments(Map extraParams, Boolean requested) { + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { this.extraParams = extraParams; - this.requested = requested; + this.stripeTransfers = stripeTransfers; } public static Builder builder() { @@ -7081,20 +10752,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private StripeTransfers stripeTransfers; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance( + this.extraParams, this.stripeTransfers); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7105,362 +10775,536 @@ public Builder putExtraParam(String key, Object value) { return this; } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance + * (/v1/balance). + */ + public Builder setStripeTransfers( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + stripeTransfers) { + this.stripeTransfers = stripeTransfers; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StripeTransfers { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private StripeTransfers(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Storer { + /** Capabilities to request on the Storer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** + * 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; + + /** List of high-risk activities the business is involved in. */ + @SerializedName("high_risk_activities") + List highRiskActivities; + + /** Description of the high-risk activities the business offers. */ + @SerializedName("high_risk_activities_description") + String highRiskActivitiesDescription; + + /** Description of the money services offered by the business. */ + @SerializedName("money_services_description") + String moneyServicesDescription; + + /** Indicates whether the business operates in any prohibited countries. */ + @SerializedName("operates_in_prohibited_countries") + Boolean operatesInProhibitedCountries; + + /** Indicates whether the business participates in any regulated activity. */ + @SerializedName("participates_in_regulated_activity") + Boolean participatesInRegulatedActivity; + + /** Primary purpose of the stored funds. */ + @SerializedName("purpose_of_funds") + PurposeOfFunds purposeOfFunds; + + /** Description of the purpose of the stored funds. */ + @SerializedName("purpose_of_funds_description") + String purposeOfFundsDescription; + + /** Details of the regulated activity if the business participates in one. */ + @SerializedName("regulated_activity") + RegulatedActivity regulatedActivity; + + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + @SerializedName("source_of_funds") + SourceOfFunds sourceOfFunds; + + /** Description of the source of funds for the business' account. */ + @SerializedName("source_of_funds_description") + String sourceOfFundsDescription; + + private Storer( + Capabilities capabilities, + Map extraParams, + List highRiskActivities, + String highRiskActivitiesDescription, + String moneyServicesDescription, + Boolean operatesInProhibitedCountries, + Boolean participatesInRegulatedActivity, + PurposeOfFunds purposeOfFunds, + String purposeOfFundsDescription, + RegulatedActivity regulatedActivity, + SourceOfFunds sourceOfFunds, + String sourceOfFundsDescription) { + this.capabilities = capabilities; + this.extraParams = extraParams; + this.highRiskActivities = highRiskActivities; + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + this.moneyServicesDescription = moneyServicesDescription; + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + this.purposeOfFunds = purposeOfFunds; + this.purposeOfFundsDescription = purposeOfFundsDescription; + this.regulatedActivity = regulatedActivity; + this.sourceOfFunds = sourceOfFunds; + this.sourceOfFundsDescription = sourceOfFundsDescription; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Capabilities capabilities; + + private Map extraParams; + + private List highRiskActivities; + + private String highRiskActivitiesDescription; + + private String moneyServicesDescription; + + private Boolean operatesInProhibitedCountries; + + private Boolean participatesInRegulatedActivity; + + private PurposeOfFunds purposeOfFunds; + + private String purposeOfFundsDescription; + + private RegulatedActivity regulatedActivity; + + private SourceOfFunds sourceOfFunds; + + private String sourceOfFundsDescription; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer build() { + return new AccountCreateParams.Configuration.Storer( + this.capabilities, + this.extraParams, + this.highRiskActivities, + this.highRiskActivitiesDescription, + this.moneyServicesDescription, + this.operatesInProhibitedCountries, + this.participatesInRegulatedActivity, + this.purposeOfFunds, + this.purposeOfFundsDescription, + this.regulatedActivity, + this.sourceOfFunds, + this.sourceOfFundsDescription); + } + + /** Capabilities to request on the Storer Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Storer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SamsungPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private SamsungPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** + * Add an element to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Configuration.Storer#highRiskActivities} for the field + * documentation. + */ + public Builder addHighRiskActivity( + AccountCreateParams.Configuration.Storer.HighRiskActivity element) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); } + this.highRiskActivities.add(element); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * Add all elements to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Configuration.Storer#highRiskActivities} for the field + * documentation. + */ + public Builder addAllHighRiskActivity( + List elements) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); } + this.highRiskActivities.addAll(elements); + return this; + } - public static class Builder { - private Map extraParams; + /** Description of the high-risk activities the business offers. */ + public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + return this; + } - private Boolean requested; + /** Description of the money services offered by the business. */ + public Builder setMoneyServicesDescription(String moneyServicesDescription) { + this.moneyServicesDescription = moneyServicesDescription; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( - this.extraParams, this.requested); - } + /** Indicates whether the business operates in any prohibited countries. */ + public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#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; - } + /** Indicates whether the business participates in any regulated activity. */ + public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Primary purpose of the stored funds. */ + public Builder setPurposeOfFunds( + AccountCreateParams.Configuration.Storer.PurposeOfFunds purposeOfFunds) { + this.purposeOfFunds = purposeOfFunds; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** Description of the purpose of the stored funds. */ + public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { + this.purposeOfFundsDescription = purposeOfFundsDescription; + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SepaBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Details of the regulated activity if the business participates in one. */ + public Builder setRegulatedActivity( + AccountCreateParams.Configuration.Storer.RegulatedActivity regulatedActivity) { + this.regulatedActivity = regulatedActivity; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + public Builder setSourceOfFunds( + AccountCreateParams.Configuration.Storer.SourceOfFunds sourceOfFunds) { + this.sourceOfFunds = sourceOfFunds; + return this; + } - private SepaBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Description of the source of funds for the business' account. */ + public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { + this.sourceOfFundsDescription = sourceOfFundsDescription; + return this; + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Can provision a consumer financial account on Stripe. */ + @SerializedName("consumer") + Consumer consumer; - public static class Builder { - private Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Boolean requested; + /** Can provision a financial address to credit/debit a FinancialAccount. */ + @SerializedName("financial_addresses") + FinancialAddresses financialAddresses; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .SepaBankTransferPayments(this.extraParams, this.requested); - } + /** Can hold storage-type funds on Stripe. */ + @SerializedName("holds_currencies") + HoldsCurrencies holdsCurrencies; + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#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; - } + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + @SerializedName("outbound_payments") + OutboundPayments outboundPayments; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + @SerializedName("outbound_transfers") + OutboundTransfers outboundTransfers; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + private Capabilities( + Consumer consumer, + Map extraParams, + FinancialAddresses financialAddresses, + HoldsCurrencies holdsCurrencies, + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers) { + this.consumer = consumer; + this.extraParams = extraParams; + this.financialAddresses = financialAddresses; + this.holdsCurrencies = holdsCurrencies; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SepaDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static class Builder { + private Consumer consumer; - private SepaDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private FinancialAddresses financialAddresses; - public static class Builder { - private Map extraParams; + private HoldsCurrencies holdsCurrencies; - private Boolean requested; + private InboundTransfers inboundTransfers; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( - this.extraParams, this.requested); - } + private OutboundPayments outboundPayments; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private OutboundTransfers outboundTransfers; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities build() { + return new AccountCreateParams.Configuration.Storer.Capabilities( + this.consumer, + this.extraParams, + this.financialAddresses, + this.holdsCurrencies, + this.inboundTransfers, + this.outboundPayments, + this.outboundTransfers); + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Can provision a consumer financial account on Stripe. */ + public Builder setConsumer( + AccountCreateParams.Configuration.Storer.Capabilities.Consumer consumer) { + this.consumer = consumer; + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SwishPayments { /** - * 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. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. */ - @SerializedName("requested") - Boolean requested; - - private SwishPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - public static Builder builder() { - return new Builder(); + /** Can provision a financial address to credit/debit a FinancialAccount. */ + public Builder setFinancialAddresses( + AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + financialAddresses) { + this.financialAddresses = financialAddresses; + return this; } - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments( - this.extraParams, this.requested); - } + /** Can hold storage-type funds on Stripe. */ + public Builder setHoldsCurrencies( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + holdsCurrencies) { + this.holdsCurrencies = holdsCurrencies; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + public Builder setInboundTransfers( + AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers + inboundTransfers) { + this.inboundTransfers = inboundTransfers; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + public Builder setOutboundPayments( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + outboundPayments) { + this.outboundPayments = outboundPayments; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + public Builder setOutboundTransfers( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + outboundTransfers) { + this.outboundTransfers = outboundTransfers; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class TwintPayments { + public static class Consumer { /** * 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. @@ -7471,16 +11315,13 @@ public static class TwintPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can hold storage-type funds on Stripe in a consumer financial account. */ + @SerializedName("holds_currencies") + HoldsCurrencies holdsCurrencies; - private TwintPayments(Map extraParams, Boolean requested) { + private Consumer(Map extraParams, HoldsCurrencies holdsCurrencies) { this.extraParams = extraParams; - this.requested = requested; + this.holdsCurrencies = holdsCurrencies; } public static Builder builder() { @@ -7490,20 +11331,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private HoldsCurrencies holdsCurrencies; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Storer.Capabilities.Consumer build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer( + this.extraParams, this.holdsCurrencies); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7517,8 +11358,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7528,102 +11369,191 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Can hold storage-type funds on Stripe in a consumer financial account. */ + public Builder setHoldsCurrencies( + AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies + holdsCurrencies) { + this.holdsCurrencies = holdsCurrencies; return this; } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class UsBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class HoldsCurrencies { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ + @SerializedName("usd") + Usd usd; - private UsBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private HoldsCurrencies(Map extraParams, Usd usd) { + this.extraParams = extraParams; + this.usd = usd; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Boolean requested; + private Usd usd; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .UsBankTransferPayments(this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer + .HoldsCurrencies(this.extraParams, this.usd); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ + public Builder setUsd( + AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd + usd) { + this.usd = usd; + return this; } - this.extraParams.putAll(map); - return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.Consumer + .HoldsCurrencies.Usd + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer + .HoldsCurrencies.Usd(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ZipPayments { + public static class FinancialAddresses { + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + /** * 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. @@ -7634,16 +11564,13 @@ public static class ZipPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private ZipPayments(Map extraParams, Boolean requested) { + private FinancialAddresses( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, + Map extraParams) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -7651,22 +11578,48 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private BankAccounts bankAccounts; - private Boolean requested; + private CryptoWallets cryptoWallets; + + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses( + this.bankAccounts, this.cryptoWallets, this.extraParams); + } + + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** + * Can provision a crypto wallet like financial address to credit a FinancialAccount. + */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7680,8 +11633,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7690,281 +11643,181 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - @SerializedName("decline_on") - DeclineOn declineOn; - - /** - * 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 CardPayments(DeclineOn declineOn, Map extraParams) { - this.declineOn = declineOn; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private DeclineOn declineOn; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.CardPayments build() { - return new AccountCreateParams.Configuration.Merchant.CardPayments( - this.declineOn, this.extraParams); - } - - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - public Builder setDeclineOn( - AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { - this.declineOn = declineOn; - return this; - } + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DeclineOn { - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - @SerializedName("avs_failure") - Boolean avsFailure; - - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting only - * applies when a CVC is provided and it fails bank verification. - */ - @SerializedName("cvc_failure") - Boolean cvcFailure; - - /** - * 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 DeclineOn( - Boolean avsFailure, Boolean cvcFailure, Map extraParams) { - this.avsFailure = avsFailure; - this.cvcFailure = cvcFailure; - this.extraParams = extraParams; - } + public static class Builder { + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Boolean requested; - public static class Builder { - private Boolean avsFailure; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts(this.extraParams, this.requested); + } - private Boolean cvcFailure; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn build() { - return new AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn( - this.avsFailure, this.cvcFailure, this.extraParams); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets { /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setAvsFailure(Boolean avsFailure) { - this.avsFailure = avsFailure; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting - * only applies when a CVC is provided and it fails bank verification. + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. */ - public Builder setCvcFailure(Boolean cvcFailure) { - this.cvcFailure = cvcFailure; - return this; - } + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + public static Builder builder() { + return new Builder(); } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { - /** - * 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; - - /** Support for Konbini payments. */ - @SerializedName("support") - Support support; - - private KonbiniPayments(Map extraParams, Support support) { - this.extraParams = extraParams; - this.support = support; - } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private Map extraParams; + private Boolean requested; - private Support support; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .CryptoWallets + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .CryptoWallets(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.KonbiniPayments build() { - return new AccountCreateParams.Configuration.Merchant.KonbiniPayments( - this.extraParams, this.support); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.KonbiniPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.KonbiniPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** Support for Konbini payments. */ - public Builder setSupport( - AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support support) { - this.support = support; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Support { - /** Support email address for Konbini payments. */ - @SerializedName("email") - String email; + public static class HoldsCurrencies { + /** Can hold storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; /** * Map of extra parameters for custom features not available in this client library. The @@ -7976,20 +11829,25 @@ public static class Support { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Support hours for Konbini payments. */ - @SerializedName("hours") - Hours hours; + /** Can hold storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - /** Support phone number for Konbini payments. */ - @SerializedName("phone") - String phone; + /** Can hold storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; - private Support( - String email, Map extraParams, Hours hours, String phone) { - this.email = email; + /** Can hold storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private HoldsCurrencies( + Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) { + this.eur = eur; this.extraParams = extraParams; - this.hours = hours; - this.phone = phone; + this.gbp = gbp; + this.usd = usd; + this.usdc = usdc; } public static Builder builder() { @@ -7997,23 +11855,26 @@ public static Builder builder() { } public static class Builder { - private String email; + private Eur eur; private Map extraParams; - private Hours hours; + private Gbp gbp; - private String phone; + private Usd usd; + + private Usdc usdc; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support build() { - return new AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support( - this.email, this.extraParams, this.hours, this.phone); + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies( + this.eur, this.extraParams, this.gbp, this.usd, this.usdc); } - /** Support email address for Konbini payments. */ - public Builder setEmail(String email) { - this.email = email; + /** Can hold storage-type funds on Stripe in EUR. */ + public Builder setEur( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) { + this.eur = eur; return this; } @@ -8021,8 +11882,8 @@ public Builder setEmail(String email) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -8036,8 +11897,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -8047,27 +11908,31 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Support hours for Konbini payments. */ - public Builder setHours( - AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours hours) { - this.hours = hours; + /** Can hold storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { + this.gbp = gbp; return this; } - /** Support phone number for Konbini payments. */ - public Builder setPhone(String phone) { - this.phone = phone; + /** Can hold storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd usd) { + this.usd = usd; + return this; + } + + /** Can hold storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc usdc) { + this.usdc = usdc; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Hours { - /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ - @SerializedName("end_time") - String endTime; - + public static class Eur { /** * 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} @@ -8078,14 +11943,16 @@ public static class Hours { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ - @SerializedName("start_time") - String startTime; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Hours(String endTime, Map extraParams, String startTime) { - this.endTime = endTime; + private Eur(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.startTime = startTime; + this.requested = requested; } public static Builder builder() { @@ -8093,30 +11960,22 @@ public static Builder builder() { } public static class Builder { - private String endTime; - private Map extraParams; - private String startTime; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur build() { - return new AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours( - this.endTime, this.extraParams, this.startTime); - } - - /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ - public Builder setEndTime(String endTime) { - this.endTime = endTime; - return this; + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Eur(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8131,7 +11990,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8142,284 +12001,286 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ - public Builder setStartTime(String startTime) { - this.startTime = startTime; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptStatementDescriptor { - /** - * 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 Kana variation of statement_descriptor used for charges in Japan. Japanese statement - * descriptors have special - * requirements. - */ - @SerializedName("kana") - Kana kana; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Gbp { + /** + * 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 Kanji variation of statement_descriptor used for charges in Japan. Japanese statement - * descriptors have special - * requirements. - */ - @SerializedName("kanji") - Kanji kanji; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private ScriptStatementDescriptor(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } + private Gbp(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Kana kana; + private Boolean requested; - private Kanji kanji; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Gbp(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor build() { - return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor( - this.extraParams, this.kana, this.kanji); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** - * The Kana variation of statement_descriptor used for charges in Japan. Japanese - * statement descriptors have special - * requirements. - */ - public Builder setKana( - AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana kana) { - this.kana = kana; - return this; } - /** - * The Kanji variation of statement_descriptor used for charges in Japan. Japanese - * statement descriptors have special - * requirements. - */ - public Builder setKanji( - AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji kanji) { - this.kanji = kanji; - return this; - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - @SerializedName("descriptor") - String descriptor; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * 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 Usd(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - @SerializedName("prefix") - String prefix; + public static Builder builder() { + return new Builder(); + } - private Kana(String descriptor, Map extraParams, String prefix) { - this.descriptor = descriptor; - this.extraParams = extraParams; - this.prefix = prefix; - } + public static class Builder { + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Boolean requested; - public static class Builder { - private String descriptor; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Usd(this.extraParams, this.requested); + } - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private String prefix; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana - build() { - return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana( - this.descriptor, this.extraParams, this.prefix); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { /** - * The default text that appears on statements for non-card charges outside of Japan. - * For card charges, if you don’t set a statement_descriptor_prefix, this text is also - * used as the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, - * we truncate the statement_descriptor text to limit the full descriptor to 22 - * characters. For more information about statement descriptors and their requirements, - * see the Merchant Configuration settings documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} - * for the field documentation. + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; + @SerializedName("requested") + Boolean requested; + + private Usdc(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + public static Builder builder() { + return new Builder(); } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space - * for the dynamic part of the descriptor, keep this text short. If you don’t specify - * this value, statement_descriptor is used as the prefix. For more information about - * statement descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Usdc(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { + public static class InboundTransfers { /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. */ - @SerializedName("descriptor") - String descriptor; + @SerializedName("bank_accounts") + BankAccounts bankAccounts; /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. * Instead, each key/value pair is serialized as if the key is a root-level field * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * parent instance. */ - @SerializedName("prefix") - String prefix; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Kanji(String descriptor, Map extraParams, String prefix) { - this.descriptor = descriptor; + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; this.extraParams = extraParams; - this.prefix = prefix; } public static Builder builder() { @@ -8427,30 +12288,23 @@ public static Builder builder() { } public static class Builder { - private String descriptor; + private BankAccounts bankAccounts; private Map extraParams; - private String prefix; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji - build() { - return new AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji( - this.descriptor, this.extraParams, this.prefix); + public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers( + this.bankAccounts, this.extraParams); } /** - * The default text that appears on statements for non-card charges outside of Japan. - * For card charges, if you don’t set a statement_descriptor_prefix, this text is also - * used as the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, - * we truncate the statement_descriptor text to limit the full descriptor to 22 - * characters. For more information about statement descriptors and their requirements, - * see the Merchant Configuration settings documentation. + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; return this; } @@ -8458,7 +12312,7 @@ public Builder setDescriptor(String descriptor) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8473,7 +12327,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8483,99 +12337,107 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space - * for the dynamic part of the descriptor, keep this text short. If you don’t specify - * this value, statement_descriptor is used as the prefix. For more information about - * statement descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SmartDisputes { - /** Settings for Smart Disputes auto_respond. */ - @SerializedName("auto_respond") - AutoRespond autoRespond; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private SmartDisputes(AutoRespond autoRespond, Map extraParams) { - this.autoRespond = autoRespond; - this.extraParams = extraParams; - } + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private AutoRespond autoRespond; + public static class Builder { + private Map extraParams; - private Map extraParams; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.SmartDisputes build() { - return new AccountCreateParams.Configuration.Merchant.SmartDisputes( - this.autoRespond, this.extraParams); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - /** Settings for Smart Disputes auto_respond. */ - public Builder setAutoRespond( - AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond autoRespond) { - this.autoRespond = autoRespond; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.SmartDisputes#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.SmartDisputes#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class AutoRespond { + public static class OutboundPayments { + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + @SerializedName("cards") + Cards cards; + + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + /** * 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. @@ -8586,13 +12448,24 @@ public static class AutoRespond { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The preference for Smart Disputes auto-respond. */ - @SerializedName("preference") - Preference preference; + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - private AutoRespond(Map extraParams, Preference preference) { + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; this.extraParams = extraParams; - this.preference = preference; + this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -8600,22 +12473,56 @@ public static Builder builder() { } public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + private Map extraParams; - private Preference preference; + private FinancialAccounts financialAccounts; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond build() { - return new AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond( - this.extraParams, this.preference); + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.financialAccounts); + } + + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + public Builder setCards( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + cards) { + this.cards = cards; + return this; + } + + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -8629,8 +12536,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -8640,284 +12547,361 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The preference for Smart Disputes auto-respond. */ - public Builder setPreference( - AccountCreateParams.Configuration.Merchant.SmartDisputes.AutoRespond.Preference - preference) { - this.preference = preference; + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + public Builder setFinancialAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; return this; } } - public enum Preference implements ApiRequestParams.EnumParam { - @SerializedName("inherit") - INHERIT("inherit"), - - @SerializedName("off") - OFF("off"), - - @SerializedName("on") - ON("on"); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - Preference(String value) { - this.value = value; + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StatementDescriptor { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement descriptor - * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the - * statement_descriptor text to limit the full descriptor to 22 characters. For more - * information about statement descriptors and their requirements, see the Merchant - * Configuration settings documentation. - */ - @SerializedName("descriptor") - String descriptor; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - /** - * Default text that appears on statements for card charges outside of Japan, prefixing any - * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the - * dynamic part of the descriptor, keep this text short. If you don’t specify this value, - * statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - @SerializedName("prefix") - String prefix; + private Boolean requested; - private StatementDescriptor( - String descriptor, Map extraParams, String prefix) { - this.descriptor = descriptor; - this.extraParams = extraParams; - this.prefix = prefix; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts(this.extraParams, this.requested); + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static class Builder { - private String descriptor; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private String prefix; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cards { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.StatementDescriptor build() { - return new AccountCreateParams.Configuration.Merchant.StatementDescriptor( - this.descriptor, this.extraParams, this.prefix); - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; - } + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .Cards(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Support { - /** A publicly available mailing address for sending support issues to. */ - @SerializedName("address") - Address address; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** A publicly available email address for sending support issues to. */ - @SerializedName("email") - String email; + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** A publicly available phone number to call with support issues. */ - @SerializedName("phone") - String phone; + public static class Builder { + private Map extraParams; - /** A publicly available website for handling support issues. */ - @SerializedName("url") - String url; + private Boolean requested; - private Support( - Address address, - String email, - Map extraParams, - String phone, - String url) { - this.address = address; - this.email = email; - this.extraParams = extraParams; - this.phone = phone; - this.url = url; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .CryptoWallets + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .CryptoWallets(this.extraParams, this.requested); + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static class Builder { - private Address address; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private String email; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * 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 String phone; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private String url; + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Support build() { - return new AccountCreateParams.Configuration.Merchant.Support( - this.address, this.email, this.extraParams, this.phone, this.url); - } + public static Builder builder() { + return new Builder(); + } - /** A publicly available mailing address for sending support issues to. */ - public Builder setAddress( - AccountCreateParams.Configuration.Merchant.Support.Address address) { - this.address = address; - return this; - } + public static class Builder { + private Map extraParams; - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(String email) { - this.email = email; - return this; - } + private Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Support#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts(this.extraParams, this.requested); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Support#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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#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; + } - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#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 publicly available website for handling support issues. */ - public Builder setUrl(String url) { - this.url = url; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - String country; + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; /** * Map of extra parameters for custom features not available in this client library. The @@ -8929,43 +12913,21 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - String line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - String line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - String state; - - /** Town or district. */ - @SerializedName("town") - String town; + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - private Address( - String city, - String country, + private OutboundTransfers( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, Map extraParams, - String line1, - String line2, - String postalCode, - String state, - String town) { - this.city = city; - this.country = country; + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -8973,47 +12935,34 @@ public static Builder builder() { } public static class Builder { - private String city; + private BankAccounts bankAccounts; - private String country; + private CryptoWallets cryptoWallets; private Map extraParams; - private String line1; - - private String line2; - - private String postalCode; - - private String state; - - private String town; + private FinancialAccounts financialAccounts; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Support.Address build() { - return new AccountCreateParams.Configuration.Merchant.Support.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers( + this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); } - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; return this; } - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(String country) { - this.country = country; + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; return this; } @@ -9021,8 +12970,8 @@ public Builder setCountry(String country) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -9033,140 +12982,291 @@ public Builder putExtraParam(String key, Object value) { } /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + public Builder setFinancialAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("requested") + Boolean requested; - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; + public static Builder builder() { + return new Builder(); } - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + public static class Builder { + private Map extraParams; - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } + private Boolean requested; - /** Town or district. */ - public Builder setTown(String town) { - this.town = town; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .CryptoWallets + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .CryptoWallets(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Recipient { - /** Capabilities to be requested on the Recipient Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * 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; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Recipient(Capabilities capabilities, Map extraParams) { - this.capabilities = capabilities; - this.extraParams = extraParams; - } + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Capabilities capabilities; + public static class Builder { + private Map extraParams; - private Map extraParams; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient build() { - return new AccountCreateParams.Configuration.Recipient( - this.capabilities, this.extraParams); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts(this.extraParams, this.requested); + } - /** Capabilities to be requested on the Recipient Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - @SerializedName("cards") - Cards cards; - - /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + public static class RegulatedActivity { + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + @SerializedName("description") + String description; /** * Map of extra parameters for custom features not available in this client library. The @@ -9178,21 +13278,37 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; + /** + * The license number or registration number assigned by the business's primary regulator. + */ + @SerializedName("license_number") + String licenseNumber; + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_country") + String primaryRegulatoryAuthorityCountry; + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_name") + String primaryRegulatoryAuthorityName; - private Capabilities( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, + private RegulatedActivity( + String description, Map extraParams, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + String licenseNumber, + String primaryRegulatoryAuthorityCountry, + String primaryRegulatoryAuthorityName) { + this.description = description; this.extraParams = extraParams; - this.stripeBalance = stripeBalance; + this.licenseNumber = licenseNumber; + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; } public static Builder builder() { @@ -9200,54 +13316,38 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; + private String description; - private Cards cards; + private Map extraParams; - private CryptoWallets cryptoWallets; + private String licenseNumber; - private Map extraParams; + private String primaryRegulatoryAuthorityCountry; - private StripeBalance stripeBalance; + private String primaryRegulatoryAuthorityName; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities( - this.bankAccounts, - this.cards, - this.cryptoWallets, + public AccountCreateParams.Configuration.Storer.RegulatedActivity build() { + return new AccountCreateParams.Configuration.Storer.RegulatedActivity( + this.description, this.extraParams, - this.stripeBalance); - } - - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - public Builder setCards( - AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; - return this; + this.licenseNumber, + this.primaryRegulatoryAuthorityCountry, + this.primaryRegulatoryAuthorityName); } /** - * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. + * A detailed description of the regulated activities the business is licensed to conduct. */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; + public Builder setDescription(String description) { + this.description = description; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * map. See {@link AccountCreateParams.Configuration.Storer.RegulatedActivity#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9261,7 +13361,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * map. See {@link AccountCreateParams.Configuration.Storer.RegulatedActivity#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9273,728 +13373,437 @@ public Builder putAllExtraParam(Map map) { } /** - * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + * The license number or registration number assigned by the business's primary regulator. */ - public Builder setStripeBalance( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - stripeBalance) { - this.stripeBalance = stripeBalance; + public Builder setLicenseNumber(String licenseNumber) { + this.licenseNumber = licenseNumber; return this; } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * 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; /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real time - * rails. + * The country of the primary regulatory authority that oversees the business's regulated + * activities. */ - @SerializedName("instant") - com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant; + public Builder setPrimaryRegulatoryAuthorityCountry( + String primaryRegulatoryAuthorityCountry) { + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + return this; + } /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. + * The name of the primary regulatory authority that oversees the business's regulated + * activities. */ - @SerializedName("local") - Local local; - - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - @SerializedName("wire") - Wire wire; - - private BankAccounts( - Map extraParams, - com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant, - Local local, - Wire wire) { - this.extraParams = extraParams; - this.instant = instant; - this.local = local; - this.wire = wire; - } - - public static Builder builder() { - return new Builder(); + public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + return this; } + } + } - public static class Builder { - private Map extraParams; - - private com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient - .Capabilities.BankAccounts.Instant - instant; - - private Local local; - - private Wire wire; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts( - this.extraParams, this.instant, this.local, this.wire); - } + public enum HighRiskActivity implements ApiRequestParams.EnumParam { + @SerializedName("adult_entertainment") + ADULT_ENTERTAINMENT("adult_entertainment"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#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; - } + @SerializedName("gambling") + GAMBLING("gambling"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("hold_client_funds") + HOLD_CLIENT_FUNDS("hold_client_funds"), - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real - * time rails. - */ - public Builder setInstant( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - instant) { - this.instant = instant; - return this; - } + @SerializedName("investment_services") + INVESTMENT_SERVICES("investment_services"), - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - public Builder setLocal( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { - this.local = local; - return this; - } + @SerializedName("lending_banking") + LENDING_BANKING("lending_banking"), - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over wire. - */ - public Builder setWire( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { - this.wire = wire; - return this; - } - } + @SerializedName("marijuana_or_related_services") + MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Instant { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("money_services") + MONEY_SERVICES("money_services"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("nicotine_tobacco_or_related_services") + NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), - private Instant(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("none") + NONE("none"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") + OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( + "operate_foreign_exchange_virtual_currencies_brokerage_otc"), - public static class Builder { - private Map extraParams; + @SerializedName("pharmaceuticals") + PHARMACEUTICALS("pharmaceuticals"), - private Boolean requested; + @SerializedName("precious_metals_precious_stones_jewelry") + PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant(this.extraParams, this.requested); - } + @SerializedName("safe_deposit_box_rentals") + SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#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; - } + @SerializedName("third_party_payment_processing") + THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("weapons_firearms_and_explosives") + WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @Getter(onMethod_ = {@Override}) + private final String value; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Local { - /** - * 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; + HighRiskActivity(String value) { + this.value = value; + } + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public enum PurposeOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("charitable_donations") + CHARITABLE_DONATIONS("charitable_donations"), - private Local(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("ecommerce_retail_payments") + ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("investment_purposes") + INVESTMENT_PURPOSES("investment_purposes"), - public static class Builder { - private Map extraParams; + @SerializedName("other") + OTHER("other"), - private Boolean requested; + @SerializedName("payments_to_friends_or_family_abroad") + PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local(this.extraParams, this.requested); - } + @SerializedName("payroll") + PAYROLL("payroll"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#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; - } + @SerializedName("personal_or_living_expenses") + PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("protect_wealth") + PROTECT_WEALTH("protect_wealth"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("purchase_goods_and_services") + PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Wire { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("receive_payments_for_goods_and_services") + RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("tax_optimization") + TAX_OPTIMIZATION("tax_optimization"), - private Wire(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("third_party_money_transmission") + THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("treasury_management") + TREASURY_MANAGEMENT("treasury_management"); - public static class Builder { - private Map extraParams; + @Getter(onMethod_ = {@Override}) + private final String value; - private Boolean requested; + PurposeOfFunds(String value) { + this.value = value; + } + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.requested); - } + public enum SourceOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("business_loans") + BUSINESS_LOANS("business_loans"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#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; - } + @SerializedName("grants") + GRANTS("grants"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("inter_company_funds") + INTER_COMPANY_FUNDS("inter_company_funds"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + @SerializedName("investment_proceeds") + INVESTMENT_PROCEEDS("investment_proceeds"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("legal_settlement") + LEGAL_SETTLEMENT("legal_settlement"), - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("owners_capital") + OWNERS_CAPITAL("owners_capital"), - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("pension_retirement") + PENSION_RETIREMENT("pension_retirement"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("sales_of_assets") + SALES_OF_ASSETS("sales_of_assets"), - public static class Builder { - private Map extraParams; + @SerializedName("sales_of_goods_and_services") + SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), - private Boolean requested; + @SerializedName("tax_refund") + TAX_REFUND("tax_refund"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.Cards build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards( - this.extraParams, this.requested); - } + @SerializedName("third_party_funds") + THIRD_PARTY_FUNDS("third_party_funds"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#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; - } + @SerializedName("treasury_reserves") + TREASURY_RESERVES("treasury_reserves"); - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#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(onMethod_ = {@Override}) + private final String value; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + SourceOfFunds(String value) { + this.value = value; } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Defaults { + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + @SerializedName("currency") + String currency; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * 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 CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** The Account's preferred locales (languages), ordered by preference. */ + @SerializedName("locales") + List locales; - public static Builder builder() { - return new Builder(); - } + /** Account profile information. */ + @SerializedName("profile") + Profile profile; - public static class Builder { - private Map extraParams; + /** Default responsibilities held by either Stripe or the platform. */ + @SerializedName("responsibilities") + Responsibilities responsibilities; - private Boolean requested; + private Defaults( + String currency, + Map extraParams, + List locales, + Profile profile, + Responsibilities responsibilities) { + this.currency = currency; + this.extraParams = extraParams; + this.locales = locales; + this.profile = profile; + this.responsibilities = responsibilities; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets( - this.extraParams, this.requested); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private String currency; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + private List locales; + + private Profile profile; + + private Responsibilities responsibilities; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Defaults build() { + return new AccountCreateParams.Defaults( + this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); + } + + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountCreateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeBalance { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountCreateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; + /** + * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Defaults#locales} for the field documentation. + */ + public Builder addLocale(AccountCreateParams.Defaults.Locale element) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.add(element); + return this; + } - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { - this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; - } + /** + * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Defaults#locales} for the field documentation. + */ + public Builder addAllLocale(List elements) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.addAll(elements); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** Account profile information. */ + public Builder setProfile(AccountCreateParams.Defaults.Profile profile) { + this.profile = profile; + return this; + } - public static class Builder { - private Map extraParams; + /** Default responsibilities held by either Stripe or the platform. */ + public Builder setResponsibilities( + AccountCreateParams.Defaults.Responsibilities responsibilities) { + this.responsibilities = responsibilities; + return this; + } + } - private StripeTransfers stripeTransfers; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Profile { + /** The business's publicly-available website. */ + @SerializedName("business_url") + String businessUrl; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance( - this.extraParams, this.stripeTransfers); - } + /** The name which is used by the business. */ + @SerializedName("doing_business_as") + String doingBusinessAs; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. + */ + @SerializedName("product_description") + String productDescription; - /** - * Enables this Account to receive /v1/transfers into their Stripe Balance - * (/v1/balance). - */ - public Builder setStripeTransfers( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; - return this; - } - } + private Profile( + String businessUrl, + String doingBusinessAs, + Map extraParams, + String productDescription) { + this.businessUrl = businessUrl; + this.doingBusinessAs = doingBusinessAs; + this.extraParams = extraParams; + this.productDescription = productDescription; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static class Builder { + private String businessUrl; - private StripeTransfers(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private String doingBusinessAs; - public static Builder builder() { - return new Builder(); - } + private Map extraParams; - public static class Builder { - private Map extraParams; + private String productDescription; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Defaults.Profile build() { + return new AccountCreateParams.Defaults.Profile( + this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.requested); - } + /** The business's publicly-available website. */ + public Builder setBusinessUrl(String businessUrl) { + this.businessUrl = businessUrl; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#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; - } + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(String doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Defaults.Profile#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; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Defaults.Profile#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. + */ + public Builder setProductDescription(String productDescription) { + this.productDescription = productDescription; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - + public static class Responsibilities { /** * 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. @@ -10004,71 +13813,27 @@ public static class Storer { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** List of high-risk activities the business is involved in. */ - @SerializedName("high_risk_activities") - List highRiskActivities; - - /** Description of the high-risk activities the business offers. */ - @SerializedName("high_risk_activities_description") - String highRiskActivitiesDescription; - - /** Description of the money services offered by the business. */ - @SerializedName("money_services_description") - String moneyServicesDescription; - - /** Indicates whether the business operates in any prohibited countries. */ - @SerializedName("operates_in_prohibited_countries") - Boolean operatesInProhibitedCountries; - - /** Indicates whether the business participates in any regulated activity. */ - @SerializedName("participates_in_regulated_activity") - Boolean participatesInRegulatedActivity; - - /** Primary purpose of the stored funds. */ - @SerializedName("purpose_of_funds") - PurposeOfFunds purposeOfFunds; - - /** Description of the purpose of the stored funds. */ - @SerializedName("purpose_of_funds_description") - String purposeOfFundsDescription; - - /** Details of the regulated activity if the business participates in one. */ - @SerializedName("regulated_activity") - RegulatedActivity regulatedActivity; - - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - @SerializedName("source_of_funds") - SourceOfFunds sourceOfFunds; + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + @SerializedName("fees_collector") + FeesCollector feesCollector; - /** Description of the source of funds for the business' account. */ - @SerializedName("source_of_funds_description") - String sourceOfFundsDescription; + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + @SerializedName("losses_collector") + LossesCollector lossesCollector; - private Storer( - Capabilities capabilities, + private Responsibilities( Map extraParams, - List highRiskActivities, - String highRiskActivitiesDescription, - String moneyServicesDescription, - Boolean operatesInProhibitedCountries, - Boolean participatesInRegulatedActivity, - PurposeOfFunds purposeOfFunds, - String purposeOfFundsDescription, - RegulatedActivity regulatedActivity, - SourceOfFunds sourceOfFunds, - String sourceOfFundsDescription) { - this.capabilities = capabilities; + FeesCollector feesCollector, + LossesCollector lossesCollector) { this.extraParams = extraParams; - this.highRiskActivities = highRiskActivities; - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - this.moneyServicesDescription = moneyServicesDescription; - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - this.purposeOfFunds = purposeOfFunds; - this.purposeOfFundsDescription = purposeOfFundsDescription; - this.regulatedActivity = regulatedActivity; - this.sourceOfFunds = sourceOfFunds; - this.sourceOfFundsDescription = sourceOfFundsDescription; + this.feesCollector = feesCollector; + this.lossesCollector = lossesCollector; } public static Builder builder() { @@ -10076,58 +13841,22 @@ public static Builder builder() { } public static class Builder { - private Capabilities capabilities; - private Map extraParams; - private List highRiskActivities; - - private String highRiskActivitiesDescription; - - private String moneyServicesDescription; - - private Boolean operatesInProhibitedCountries; - - private Boolean participatesInRegulatedActivity; - - private PurposeOfFunds purposeOfFunds; - - private String purposeOfFundsDescription; - - private RegulatedActivity regulatedActivity; - - private SourceOfFunds sourceOfFunds; + private FeesCollector feesCollector; - private String sourceOfFundsDescription; + private LossesCollector lossesCollector; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer build() { - return new AccountCreateParams.Configuration.Storer( - this.capabilities, - this.extraParams, - this.highRiskActivities, - this.highRiskActivitiesDescription, - this.moneyServicesDescription, - this.operatesInProhibitedCountries, - this.participatesInRegulatedActivity, - this.purposeOfFunds, - this.purposeOfFundsDescription, - this.regulatedActivity, - this.sourceOfFunds, - this.sourceOfFundsDescription); - } - - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; + public AccountCreateParams.Defaults.Responsibilities build() { + return new AccountCreateParams.Defaults.Responsibilities( + this.extraParams, this.feesCollector, this.lossesCollector); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * map. See {@link AccountCreateParams.Defaults.Responsibilities#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -10141,7 +13870,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * map. See {@link AccountCreateParams.Defaults.Responsibilities#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -10153,1854 +13882,1386 @@ public Builder putAllExtraParam(Map map) { } /** - * Add an element to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. + * Required. A value indicating the party responsible for collecting fees + * from this account. */ - public Builder addHighRiskActivity( - AccountCreateParams.Configuration.Storer.HighRiskActivity element) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.add(element); + public Builder setFeesCollector( + AccountCreateParams.Defaults.Responsibilities.FeesCollector feesCollector) { + this.feesCollector = feesCollector; return this; } /** - * Add all elements to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. */ - public Builder addAllHighRiskActivity( - List elements) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.addAll(elements); + public Builder setLossesCollector( + AccountCreateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { + this.lossesCollector = lossesCollector; return this; } + } - /** Description of the high-risk activities the business offers. */ - public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - return this; - } + public enum FeesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - /** Description of the money services offered by the business. */ - public Builder setMoneyServicesDescription(String moneyServicesDescription) { - this.moneyServicesDescription = moneyServicesDescription; - return this; - } + @SerializedName("application_custom") + APPLICATION_CUSTOM("application_custom"), - /** Indicates whether the business operates in any prohibited countries. */ - public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - return this; - } + @SerializedName("application_express") + APPLICATION_EXPRESS("application_express"), - /** Indicates whether the business participates in any regulated activity. */ - public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - return this; - } + @SerializedName("stripe") + STRIPE("stripe"); - /** Primary purpose of the stored funds. */ - public Builder setPurposeOfFunds( - AccountCreateParams.Configuration.Storer.PurposeOfFunds purposeOfFunds) { - this.purposeOfFunds = purposeOfFunds; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Description of the purpose of the stored funds. */ - public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { - this.purposeOfFundsDescription = purposeOfFundsDescription; - return this; + FeesCollector(String value) { + this.value = value; } + } - /** Details of the regulated activity if the business participates in one. */ - public Builder setRegulatedActivity( - AccountCreateParams.Configuration.Storer.RegulatedActivity regulatedActivity) { - this.regulatedActivity = regulatedActivity; - return this; - } + public enum LossesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - public Builder setSourceOfFunds( - AccountCreateParams.Configuration.Storer.SourceOfFunds sourceOfFunds) { - this.sourceOfFunds = sourceOfFunds; - return this; - } + @SerializedName("stripe") + STRIPE("stripe"); - /** Description of the source of funds for the business' account. */ - public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { - this.sourceOfFundsDescription = sourceOfFundsDescription; - return this; + @Getter(onMethod_ = {@Override}) + private final String value; + + LossesCollector(String value) { + this.value = value; } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Can provision a consumer financial account on Stripe. */ - @SerializedName("consumer") - Consumer consumer; + public enum Locale implements ApiRequestParams.EnumParam { + @SerializedName("ar-SA") + AR_SA("ar-SA"), + + @SerializedName("bg") + BG("bg"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("bg-BG") + BG_BG("bg-BG"), - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @SerializedName("financial_addresses") - FinancialAddresses financialAddresses; + @SerializedName("cs") + CS("cs"), - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + @SerializedName("cs-CZ") + CS_CZ("cs-CZ"), - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; + @SerializedName("da") + DA("da"), - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; + @SerializedName("da-DK") + DA_DK("da-DK"), - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; + @SerializedName("de") + DE("de"), - private Capabilities( - Consumer consumer, - Map extraParams, - FinancialAddresses financialAddresses, - HoldsCurrencies holdsCurrencies, - InboundTransfers inboundTransfers, - OutboundPayments outboundPayments, - OutboundTransfers outboundTransfers) { - this.consumer = consumer; - this.extraParams = extraParams; - this.financialAddresses = financialAddresses; - this.holdsCurrencies = holdsCurrencies; - this.inboundTransfers = inboundTransfers; - this.outboundPayments = outboundPayments; - this.outboundTransfers = outboundTransfers; - } + @SerializedName("de-DE") + DE_DE("de-DE"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("el") + EL("el"), - public static class Builder { - private Consumer consumer; + @SerializedName("el-GR") + EL_GR("el-GR"), - private Map extraParams; + @SerializedName("en") + EN("en"), - private FinancialAddresses financialAddresses; + @SerializedName("en-AU") + EN_AU("en-AU"), - private HoldsCurrencies holdsCurrencies; + @SerializedName("en-CA") + EN_CA("en-CA"), - private InboundTransfers inboundTransfers; + @SerializedName("en-GB") + EN_GB("en-GB"), - private OutboundPayments outboundPayments; + @SerializedName("en-IE") + EN_IE("en-IE"), - private OutboundTransfers outboundTransfers; + @SerializedName("en-IN") + EN_IN("en-IN"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities build() { - return new AccountCreateParams.Configuration.Storer.Capabilities( - this.consumer, - this.extraParams, - this.financialAddresses, - this.holdsCurrencies, - this.inboundTransfers, - this.outboundPayments, - this.outboundTransfers); - } + @SerializedName("en-NZ") + EN_NZ("en-NZ"), - /** Can provision a consumer financial account on Stripe. */ - public Builder setConsumer( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer consumer) { - this.consumer = consumer; - return this; - } + @SerializedName("en-SG") + EN_SG("en-SG"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @SerializedName("en-US") + EN_US("en-US"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("es") + ES("es"), - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } + @SerializedName("es-419") + ES_419("es-419"), - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } + @SerializedName("es-ES") + ES_ES("es-ES"), - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - public Builder setInboundTransfers( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - inboundTransfers) { - this.inboundTransfers = inboundTransfers; - return this; - } + @SerializedName("et") + ET("et"), - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - public Builder setOutboundPayments( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - outboundPayments) { - this.outboundPayments = outboundPayments; - return this; - } + @SerializedName("et-EE") + ET_EE("et-EE"), - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - public Builder setOutboundTransfers( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - outboundTransfers) { - this.outboundTransfers = outboundTransfers; - return this; - } - } + @SerializedName("fi") + FI("fi"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Consumer { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("fil") + FIL("fil"), - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + @SerializedName("fil-PH") + FIL_PH("fil-PH"), - private Consumer(Map extraParams, HoldsCurrencies holdsCurrencies) { - this.extraParams = extraParams; - this.holdsCurrencies = holdsCurrencies; - } + @SerializedName("fi-FI") + FI_FI("fi-FI"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("fr") + FR("fr"), - public static class Builder { - private Map extraParams; + @SerializedName("fr-CA") + FR_CA("fr-CA"), - private HoldsCurrencies holdsCurrencies; + @SerializedName("fr-FR") + FR_FR("fr-FR"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer( - this.extraParams, this.holdsCurrencies); - } + @SerializedName("he-IL") + HE_IL("he-IL"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer#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; - } + @SerializedName("hr") + HR("hr"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("hr-HR") + HR_HR("hr-HR"), - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - public Builder setHoldsCurrencies( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } - } + @SerializedName("hu") + HU("hu"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("hu-HU") + HU_HU("hu-HU"), - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - @SerializedName("usd") - Usd usd; + @SerializedName("id") + ID("id"), - private HoldsCurrencies(Map extraParams, Usd usd) { - this.extraParams = extraParams; - this.usd = usd; - } + @SerializedName("id-ID") + ID_ID("id-ID"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("it") + IT("it"), - public static class Builder { - private Map extraParams; + @SerializedName("it-IT") + IT_IT("it-IT"), - private Usd usd; + @SerializedName("ja") + JA("ja"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies(this.extraParams, this.usd); - } + @SerializedName("ja-JP") + JA_JP("ja-JP"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#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; - } + @SerializedName("ko") + KO("ko"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("ko-KR") + KO_KR("ko-KR"), - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - public Builder setUsd( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd - usd) { - this.usd = usd; - return this; - } - } + @SerializedName("lt") + LT("lt"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Usd { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-level field (serialized) name in this param object. Effectively, this - * map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("lt-LT") + LT_LT("lt-LT"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("lv") + LV("lv"), - private Usd(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("lv-LV") + LV_LV("lv-LV"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("ms") + MS("ms"), - public static class Builder { - private Map extraParams; + @SerializedName("ms-MY") + MS_MY("ms-MY"), - private Boolean requested; + @SerializedName("mt") + MT("mt"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd(this.extraParams, this.requested); - } + @SerializedName("mt-MT") + MT_MT("mt-MT"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#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; - } + @SerializedName("nb") + NB("nb"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("nb-NO") + NB_NO("nb-NO"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } + @SerializedName("nl") + NL("nl"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + @SerializedName("nl-NL") + NL_NL("nl-NL"), - /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + @SerializedName("pl") + PL("pl"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("pl-PL") + PL_PL("pl-PL"), - private FinancialAddresses( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - } + @SerializedName("pt") + PT("pt"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("pt-BR") + PT_BR("pt-BR"), - public static class Builder { - private BankAccounts bankAccounts; + @SerializedName("pt-PT") + PT_PT("pt-PT"), - private CryptoWallets cryptoWallets; + @SerializedName("ro") + RO("ro"), - private Map extraParams; + @SerializedName("ro-RO") + RO_RO("ro-RO"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.cryptoWallets, this.extraParams); - } + @SerializedName("ru") + RU("ru"), + + @SerializedName("ru-RU") + RU_RU("ru-RU"), + + @SerializedName("sk") + SK("sk"), - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } + @SerializedName("sk-SK") + SK_SK("sk-SK"), - /** - * Can provision a crypto wallet like financial address to credit a FinancialAccount. - */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; - } + @SerializedName("sl") + SL("sl"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#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; - } + @SerializedName("sl-SI") + SL_SI("sl-SI"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + @SerializedName("sv") + SV("sv"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("sv-SE") + SV_SE("sv-SE"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("th") + TH("th"), - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("th-TH") + TH_TH("th-TH"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("tr") + TR("tr"), - public static class Builder { - private Map extraParams; + @SerializedName("tr-TR") + TR_TR("tr-TR"), - private Boolean requested; + @SerializedName("vi") + VI("vi"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.requested); - } + @SerializedName("vi-VN") + VI_VN("vi-VN"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#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; - } + @SerializedName("zh") + ZH("zh"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("zh-Hans") + ZH_HANS("zh-Hans"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("zh-Hant-HK") + ZH_HANT_HK("zh-Hant-HK"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("zh-Hant-TW") + ZH_HANT_TW("zh-Hant-TW"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("zh-HK") + ZH_HK("zh-HK"), - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("zh-TW") + ZH_TW("zh-TW"); - public static Builder builder() { - return new Builder(); - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static class Builder { - private Map extraParams; + Locale(String value) { + this.value = value; + } + } + } - private Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Identity { + /** + * Attestations from the identity's key people, e.g. owners, executives, directors, + * representatives. + */ + @SerializedName("attestations") + Attestations attestations; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets(this.extraParams, this.requested); - } + /** Information about the company or business. */ + @SerializedName("business_details") + BusinessDetails businessDetails; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#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; - } + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO + * 3166-1 alpha-2 country code. + */ + @SerializedName("country") + String country; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#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 entity type. */ + @SerializedName("entity_type") + EntityType entityType; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + /** Information about the person represented by the account. */ + @SerializedName("individual") + Individual individual; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** Can hold storage-type funds on Stripe in EUR. */ - @SerializedName("eur") - Eur eur; + private Identity( + Attestations attestations, + BusinessDetails businessDetails, + String country, + EntityType entityType, + Map extraParams, + Individual individual) { + this.attestations = attestations; + this.businessDetails = businessDetails; + this.country = country; + this.entityType = entityType; + this.extraParams = extraParams; + this.individual = individual; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** Can hold storage-type funds on Stripe in GBP. */ - @SerializedName("gbp") - Gbp gbp; + public static class Builder { + private Attestations attestations; - /** Can hold storage-type funds on Stripe in USD. */ - @SerializedName("usd") - Usd usd; + private BusinessDetails businessDetails; - /** Can hold storage-type funds on Stripe in USDC. */ - @SerializedName("usdc") - Usdc usdc; + private String country; - private HoldsCurrencies( - Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) { - this.eur = eur; - this.extraParams = extraParams; - this.gbp = gbp; - this.usd = usd; - this.usdc = usdc; - } + private EntityType entityType; - public static Builder builder() { - return new Builder(); - } + private Map extraParams; - public static class Builder { - private Eur eur; + private Individual individual; - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity build() { + return new AccountCreateParams.Identity( + this.attestations, + this.businessDetails, + this.country, + this.entityType, + this.extraParams, + this.individual); + } - private Gbp gbp; + /** + * Attestations from the identity's key people, e.g. owners, executives, directors, + * representatives. + */ + public Builder setAttestations(AccountCreateParams.Identity.Attestations attestations) { + this.attestations = attestations; + return this; + } - private Usd usd; + /** Information about the company or business. */ + public Builder setBusinessDetails( + AccountCreateParams.Identity.BusinessDetails businessDetails) { + this.businessDetails = businessDetails; + return this; + } - private Usdc usdc; + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO 3166-1 alpha-2 country + * code. + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies( - this.eur, this.extraParams, this.gbp, this.usd, this.usdc); - } + /** The entity type. */ + public Builder setEntityType(AccountCreateParams.Identity.EntityType entityType) { + this.entityType = entityType; + return this; + } - /** Can hold storage-type funds on Stripe in EUR. */ - public Builder setEur( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) { - this.eur = eur; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountCreateParams.Identity#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountCreateParams.Identity#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Information about the person represented by the account. */ + public Builder setIndividual(AccountCreateParams.Identity.Individual individual) { + this.individual = individual; + return this; + } + } - /** Can hold storage-type funds on Stripe in GBP. */ - public Builder setGbp( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { - this.gbp = gbp; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Attestations { + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + @SerializedName("directorship_declaration") + DirectorshipDeclaration directorshipDeclaration; - /** Can hold storage-type funds on Stripe in USD. */ - public Builder setUsd( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd usd) { - this.usd = usd; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Can hold storage-type funds on Stripe in USDC. */ - public Builder setUsdc( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc usdc) { - this.usdc = usdc; - return this; - } - } + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + @SerializedName("ownership_declaration") + OwnershipDeclaration ownershipDeclaration; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Eur { - /** - * 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; + /** Attestation that all Persons with a specific Relationship value have been provided. */ + @SerializedName("persons_provided") + PersonsProvided personsProvided; + + /** + * This hash is used to attest that the representative is authorized to act as the + * representative of their legal entity. + */ + @SerializedName("representative_declaration") + RepresentativeDeclaration representativeDeclaration; + + /** Attestations of accepted terms of service agreements. */ + @SerializedName("terms_of_service") + TermsOfService termsOfService; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private Attestations( + DirectorshipDeclaration directorshipDeclaration, + Map extraParams, + OwnershipDeclaration ownershipDeclaration, + PersonsProvided personsProvided, + RepresentativeDeclaration representativeDeclaration, + TermsOfService termsOfService) { + this.directorshipDeclaration = directorshipDeclaration; + this.extraParams = extraParams; + this.ownershipDeclaration = ownershipDeclaration; + this.personsProvided = personsProvided; + this.representativeDeclaration = representativeDeclaration; + this.termsOfService = termsOfService; + } - private Eur(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private DirectorshipDeclaration directorshipDeclaration; - public static class Builder { - private Map extraParams; + private Map extraParams; - private Boolean requested; + private OwnershipDeclaration ownershipDeclaration; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur(this.extraParams, this.requested); - } + private PersonsProvided personsProvided; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private RepresentativeDeclaration representativeDeclaration; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private TermsOfService termsOfService; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations build() { + return new AccountCreateParams.Identity.Attestations( + this.directorshipDeclaration, + this.extraParams, + this.ownershipDeclaration, + this.personsProvided, + this.representativeDeclaration, + this.termsOfService); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Gbp { - /** - * 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; + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + public Builder setDirectorshipDeclaration( + AccountCreateParams.Identity.Attestations.DirectorshipDeclaration + directorshipDeclaration) { + this.directorshipDeclaration = directorshipDeclaration; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Gbp(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + public Builder setOwnershipDeclaration( + AccountCreateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { + this.ownershipDeclaration = ownershipDeclaration; + return this; + } - public static class Builder { - private Map extraParams; + /** Attestation that all Persons with a specific Relationship value have been provided. */ + public Builder setPersonsProvided( + AccountCreateParams.Identity.Attestations.PersonsProvided personsProvided) { + this.personsProvided = personsProvided; + return this; + } - private Boolean requested; + /** + * This hash is used to attest that the representative is authorized to act as the + * representative of their legal entity. + */ + public Builder setRepresentativeDeclaration( + AccountCreateParams.Identity.Attestations.RepresentativeDeclaration + representativeDeclaration) { + this.representativeDeclaration = representativeDeclaration; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.requested); - } + /** Attestations of accepted terms of service agreements. */ + public Builder setTermsOfService( + AccountCreateParams.Identity.Attestations.TermsOfService termsOfService) { + this.termsOfService = termsOfService; + return this; + } + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DirectorshipDeclaration { + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** The IP address from which the director attestation was made. */ + @SerializedName("ip") + String ip; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Usd { - /** - * 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 user agent of the browser from which the director attestation was made. */ + @SerializedName("user_agent") + String userAgent; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private DirectorshipDeclaration( + java.time.Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - private Usd(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private java.time.Instant date; - public static class Builder { - private Map extraParams; + private Map extraParams; - private Boolean requested; + private String ip; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd(this.extraParams, this.requested); - } + private String userAgent; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.DirectorshipDeclaration build() { + return new AccountCreateParams.Identity.Attestations.DirectorshipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#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 time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.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; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Usdc { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.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; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** The IP address from which the director attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - private Usdc(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OwnershipDeclaration { + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - public static class Builder { - private Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Boolean requested; + /** The IP address from which the beneficial owner attestation was made. */ + @SerializedName("ip") + String ip; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc(this.extraParams, this.requested); - } + /** The user agent of the browser from which the beneficial owner attestation was made. */ + @SerializedName("user_agent") + String userAgent; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private OwnershipDeclaration( + java.time.Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + public static class Builder { + private java.time.Instant date; + + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.OwnershipDeclaration build() { + return new AccountCreateParams.Identity.Attestations.OwnershipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class InboundTransfers { /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the + * field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - public static Builder builder() { - return new Builder(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - public static class Builder { - private BankAccounts bankAccounts; + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - private Map extraParams; + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers( - this.bankAccounts, this.extraParams); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PersonsProvided { + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + @SerializedName("directors") + Boolean directors; - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } + /** + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. + */ + @SerializedName("executives") + Boolean executives; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + /** + * Whether the company’s owners have been provided. Set this Boolean to true after creating + * all the company’s owners with the Persons API. + */ + @SerializedName("owners") + Boolean owners; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * 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; + /** Reason for why the company is exempt from providing ownership information. */ + @SerializedName("ownership_exemption_reason") + OwnershipExemptionReason ownershipExemptionReason; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private PersonsProvided( + Boolean directors, + Boolean executives, + Map extraParams, + Boolean owners, + OwnershipExemptionReason ownershipExemptionReason) { + this.directors = directors; + this.executives = executives; + this.extraParams = extraParams; + this.owners = owners; + this.ownershipExemptionReason = ownershipExemptionReason; + } - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Boolean directors; - public static class Builder { - private Map extraParams; + private Boolean executives; - private Boolean requested; + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts(this.extraParams, this.requested); - } + private Boolean owners; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private OwnershipExemptionReason ownershipExemptionReason; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.PersonsProvided build() { + return new AccountCreateParams.Identity.Attestations.PersonsProvided( + this.directors, + this.executives, + this.extraParams, + this.owners, + this.ownershipExemptionReason); + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + public Builder setDirectors(Boolean directors) { + this.directors = directors; + return this; } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundPayments { - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - @SerializedName("cards") - Cards cards; + /** + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. + */ + public Builder setExecutives(Boolean executives) { + this.executives = executives; + return this; + } - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. + * Whether the company’s owners have been provided. Set this Boolean to true after + * creating all the company’s owners with the Persons API. */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + public Builder setOwners(Boolean owners) { + this.owners = owners; + return this; + } - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; + /** Reason for why the company is exempt from providing ownership information. */ + public Builder setOwnershipExemptionReason( + AccountCreateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason + ownershipExemptionReason) { + this.ownershipExemptionReason = ownershipExemptionReason; + return this; } + } - public static Builder builder() { - return new Builder(); + 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 static class Builder { - private BankAccounts bankAccounts; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RepresentativeDeclaration { + /** + * The time marking when the representative attestation was made. Represented as a RFC 3339 + * date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - private Cards cards; + /** + * 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 CryptoWallets cryptoWallets; + /** The IP address from which the representative attestation was made. */ + @SerializedName("ip") + String ip; - private Map extraParams; + /** The user agent of the browser from which the representative attestation was made. */ + @SerializedName("user_agent") + String userAgent; - private FinancialAccounts financialAccounts; + private RepresentativeDeclaration( + java.time.Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments( - this.bankAccounts, - this.cards, - this.cryptoWallets, - this.extraParams, - this.financialAccounts); - } + public static Builder builder() { + return new Builder(); + } - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } + public static class Builder { + private java.time.Instant date; - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - public Builder setCards( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - cards) { - this.cards = cards; - return this; - } + private Map extraParams; - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; - } + private String ip; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private String userAgent; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.RepresentativeDeclaration build() { + return new AccountCreateParams.Identity.Attestations.RepresentativeDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time marking when the representative attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountCreateParams.Identity.Attestations.RepresentativeDeclaration#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; + } - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - public Builder setFinancialAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.RepresentativeDeclaration#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * 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 IP address from which the representative attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** The user agent of the browser from which the representative attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TermsOfService { + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + @SerializedName("account") + Account account; - public static Builder builder() { - return new Builder(); - } + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + @SerializedName("card_creator") + CardCreator cardCreator; - public static class Builder { - private Map extraParams; + /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ + @SerializedName("crypto_storer") + CryptoStorer cryptoStorer; - private Boolean requested; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.requested); - } + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + @SerializedName("storer") + Storer storer; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private TermsOfService( + Account account, + CardCreator cardCreator, + CryptoStorer cryptoStorer, + Map extraParams, + Storer storer) { + this.account = account; + this.cardCreator = cardCreator; + this.cryptoStorer = cryptoStorer; + this.extraParams = extraParams; + this.storer = storer; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + public static class Builder { + private Account account; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * 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 CardCreator cardCreator; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private CryptoStorer cryptoStorer; - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Storer storer; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService( + this.account, this.cardCreator, this.cryptoStorer, this.extraParams, this.storer); + } - private Boolean requested; + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + public Builder setAccount( + AccountCreateParams.Identity.Attestations.TermsOfService.Account account) { + this.account = account; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.requested); - } + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + public Builder setCardCreator( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator cardCreator) { + this.cardCreator = cardCreator; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#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; - } + /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ + public Builder setCryptoStorer( + AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer cryptoStorer) { + this.cryptoStorer = cryptoStorer; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#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; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { - /** - * 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; + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + public Builder setStorer( + AccountCreateParams.Identity.Attestations.TermsOfService.Storer storer) { + this.storer = storer; + return this; + } + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Account { + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond + * precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - public static class Builder { - private Map extraParams; + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; - private Boolean requested; + private Account( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets(this.extraParams, this.requested); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private java.time.Instant date; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.Account build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.Account( + this.date, this.extraParams, this.ip, this.userAgent); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { /** - * 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. + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond + * precision, for example: 2022-09-18T13:22:18.123Z. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the + * field documentation. */ - @SerializedName("requested") - Boolean requested; - - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts(this.extraParams, this.requested); + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + public static class CardCreator { + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** Terms of service acceptances to create cards for consumer issuing use cases. */ + @SerializedName("consumer") + Consumer consumer; /** * Map of extra parameters for custom features not available in this client library. The @@ -12012,21 +15273,11 @@ public static class OutboundTransfers { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; - - private OutboundTransfers( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; + private CardCreator( + Commercial commercial, Consumer consumer, Map extraParams) { + this.commercial = commercial; + this.consumer = consumer; this.extraParams = extraParams; - this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -12034,34 +15285,31 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; + private Commercial commercial; - private CryptoWallets cryptoWallets; + private Consumer consumer; private Map extraParams; - private FinancialAccounts financialAccounts; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers( - this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator( + this.commercial, this.consumer, this.extraParams); } - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + public Builder setCommercial( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + commercial) { + this.commercial = commercial; return this; } - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; + /** Terms of service acceptances to create cards for consumer issuing use cases. */ + public Builder setConsumer( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + consumer) { + this.consumer = consumer; return this; } @@ -12069,8 +15317,8 @@ public Builder setCryptoWallets( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} - * for the field documentation. + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -12084,8 +15332,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} - * for the field documentation. + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -12094,105 +15342,28 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - public Builder setFinancialAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Commercial { + /** Terms of service acceptances for Stripe commercial card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; + /** - * 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. + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("celtic") + Celtic celtic; /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { /** * 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} @@ -12204,98 +15375,37 @@ public static class CryptoWallets { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Terms of service acceptances for commercial issuing cards with Fifth Third as BIN + * sponsor. */ - @SerializedName("requested") - Boolean requested; - - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("fifth_third") + FifthThird fifthThird; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * 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; + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + @SerializedName("global_account_holder") + GlobalAccountHolder globalAccountHolder; /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("lead") + Lead lead; - private FinancialAccounts(Map extraParams, Boolean requested) { + private Commercial( + AccountHolder accountHolder, + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + FifthThird fifthThird, + GlobalAccountHolder globalAccountHolder, + Lead lead) { + this.accountHolder = accountHolder; + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; this.extraParams = extraParams; - this.requested = requested; + this.fifthThird = fifthThird; + this.globalAccountHolder = globalAccountHolder; + this.lead = lead; } public static Builder builder() { @@ -12303,23 +15413,72 @@ public static Builder builder() { } public static class Builder { + private AccountHolder accountHolder; + + private Celtic celtic; + + private CrossRiverBank crossRiverBank; + private Map extraParams; - private Boolean requested; + private FifthThird fifthThird; + + private GlobalAccountHolder globalAccountHolder; + + private Lead lead; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts(this.extraParams, this.requested); + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial( + this.accountHolder, + this.celtic, + this.crossRiverBank, + this.extraParams, + this.fifthThird, + this.globalAccountHolder, + this.lead); + } + + /** Terms of service acceptances for Stripe commercial card issuing. */ + public Builder setAccountHolder( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .AccountHolder + accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN + * sponsor. + */ + public Builder setCeltic( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic + celtic) { + this.celtic = celtic; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + public Builder setCrossRiverBank( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -12334,7 +15493,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -12346,2400 +15505,3623 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Terms of service acceptances for commercial issuing cards with Fifth Third as BIN + * sponsor. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setFifthThird( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .FifthThird + fifthThird) { + this.fifthThird = fifthThird; + return this; + } + + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + public Builder setGlobalAccountHolder( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .GlobalAccountHolder + globalAccountHolder) { + this.globalAccountHolder = globalAccountHolder; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. + */ + public Builder setLead( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Lead + lead) { + this.lead = lead; return this; } } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RegulatedActivity { - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - @SerializedName("description") - String description; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder { + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * 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; + /** + * 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 license number or registration number assigned by the business's primary regulator. - */ - @SerializedName("license_number") - String licenseNumber; + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_country") - String primaryRegulatoryAuthorityCountry; + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_name") - String primaryRegulatoryAuthorityName; + private AccountHolder( + java.time.Instant 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 java.time.Instant date; + + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - private RegulatedActivity( - String description, - Map extraParams, - String licenseNumber, - String primaryRegulatoryAuthorityCountry, - String primaryRegulatoryAuthorityName) { - this.description = description; - this.extraParams = extraParams; - this.licenseNumber = licenseNumber; - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - } + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN + * sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - public static Builder builder() { - return new Builder(); - } + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private String description; + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; - private Map extraParams; + private Celtic( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - private String licenseNumber; + public static Builder builder() { + return new Builder(); + } - private String primaryRegulatoryAuthorityCountry; + public static class Builder { + private ApplePay applePay; - private String primaryRegulatoryAuthorityName; + private ChargeCard chargeCard; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.RegulatedActivity build() { - return new AccountCreateParams.Configuration.Storer.RegulatedActivity( - this.description, - this.extraParams, - this.licenseNumber, - this.primaryRegulatoryAuthorityCountry, - this.primaryRegulatoryAuthorityName); - } + private Map extraParams; - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - public Builder setDescription(String description) { - this.description = description; - return this; - } + private SpendCard spendCard; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.RegulatedActivity#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic( + this.applePay, this.chargeCard, this.extraParams, this.spendCard); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic + * as BIN sponsor. + */ + public Builder setApplePay( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - /** - * The license number or registration number assigned by the business's primary regulator. - */ - public Builder setLicenseNumber(String licenseNumber) { - this.licenseNumber = licenseNumber; - return this; - } + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as + * BIN sponsor. + */ + public Builder setChargeCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityCountry( - String primaryRegulatoryAuthorityCountry) { - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - return this; - } - } - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public enum HighRiskActivity implements ApiRequestParams.EnumParam { - @SerializedName("adult_entertainment") - ADULT_ENTERTAINMENT("adult_entertainment"), + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as + * BIN sponsor. + */ + public Builder setSpendCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - @SerializedName("gambling") - GAMBLING("gambling"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - @SerializedName("hold_client_funds") - HOLD_CLIENT_FUNDS("hold_client_funds"), + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("investment_services") - INVESTMENT_SERVICES("investment_services"), + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - @SerializedName("lending_banking") - LENDING_BANKING("lending_banking"), + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("marijuana_or_related_services") - MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), + private ApplePay( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("money_services") - MONEY_SERVICES("money_services"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("nicotine_tobacco_or_related_services") - NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), + public static class Builder { + private java.time.Instant date; - @SerializedName("none") - NONE("none"), + private Map extraParams; - @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") - OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( - "operate_foreign_exchange_virtual_currencies_brokerage_otc"), + private String ip; - @SerializedName("pharmaceuticals") - PHARMACEUTICALS("pharmaceuticals"), + private String userAgent; - @SerializedName("precious_metals_precious_stones_jewelry") - PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("safe_deposit_box_rentals") - SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - @SerializedName("third_party_payment_processing") - THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#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; + } - @SerializedName("weapons_firearms_and_explosives") - WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#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(onMethod_ = {@Override}) - private final String value; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - HighRiskActivity(String value) { - this.value = value; - } - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - public enum PurposeOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("charitable_donations") - CHARITABLE_DONATIONS("charitable_donations"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - @SerializedName("ecommerce_retail_payments") - ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("investment_purposes") - INVESTMENT_PURPOSES("investment_purposes"), + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; - @SerializedName("other") - OTHER("other"), + private ChargeCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } - @SerializedName("payments_to_friends_or_family_abroad") - PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("payroll") - PAYROLL("payroll"), + public static class Builder { + private BankTerms bankTerms; - @SerializedName("personal_or_living_expenses") - PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), + private Map extraParams; - @SerializedName("protect_wealth") - PROTECT_WEALTH("protect_wealth"), + private Platform platform; - @SerializedName("purchase_goods_and_services") - PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard( + this.bankTerms, this.extraParams, this.platform); + } - @SerializedName("receive_payments_for_goods_and_services") - RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), + /** + * Bank terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } - @SerializedName("tax_optimization") - TAX_OPTIMIZATION("tax_optimization"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("third_party_money_transmission") - THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("treasury_management") - TREASURY_MANAGEMENT("treasury_management"); + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - PurposeOfFunds(String value) { - this.value = value; - } - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public enum SourceOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("business_loans") - BUSINESS_LOANS("business_loans"), + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("grants") - GRANTS("grants"), + private BankTerms( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("inter_company_funds") - INTER_COMPANY_FUNDS("inter_company_funds"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("investment_proceeds") - INVESTMENT_PROCEEDS("investment_proceeds"), + public static class Builder { + private java.time.Instant date; - @SerializedName("legal_settlement") - LEGAL_SETTLEMENT("legal_settlement"), + private Map extraParams; - @SerializedName("owners_capital") - OWNERS_CAPITAL("owners_capital"), + private String ip; - @SerializedName("pension_retirement") - PENSION_RETIREMENT("pension_retirement"), + private String userAgent; - @SerializedName("sales_of_assets") - SALES_OF_ASSETS("sales_of_assets"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("sales_of_goods_and_services") - SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - @SerializedName("tax_refund") - TAX_REFUND("tax_refund"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#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; + } - @SerializedName("third_party_funds") - THIRD_PARTY_FUNDS("third_party_funds"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("treasury_reserves") - TREASURY_RESERVES("treasury_reserves"); + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - SourceOfFunds(String value) { - this.value = value; - } - } - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Defaults { - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - @SerializedName("currency") - String currency; + /** + * 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; - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** The Account's preferred locales (languages), ordered by preference. */ - @SerializedName("locales") - List locales; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** Account profile information. */ - @SerializedName("profile") - Profile profile; + private Platform( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Default responsibilities held by either Stripe or the platform. */ - @SerializedName("responsibilities") - Responsibilities responsibilities; + public static Builder builder() { + return new Builder(); + } - private Defaults( - String currency, - Map extraParams, - List locales, - Profile profile, - Responsibilities responsibilities) { - this.currency = currency; - this.extraParams = extraParams; - this.locales = locales; - this.profile = profile; - this.responsibilities = responsibilities; - } + public static class Builder { + private java.time.Instant date; - public static Builder builder() { - return new Builder(); - } + private Map extraParams; - public static class Builder { - private String currency; + private String ip; - private Map extraParams; + private String userAgent; - private List locales; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } - private Profile profile; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - private Responsibilities responsibilities; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults build() { - return new AccountCreateParams.Defaults( - this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(String currency) { - this.currency = currency; - return this; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountCreateParams.Defaults#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; - } + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountCreateParams.Defaults#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - /** - * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Defaults#locales} for the field documentation. - */ - public Builder addLocale(AccountCreateParams.Defaults.Locale element) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.add(element); - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Defaults#locales} for the field documentation. - */ - public Builder addAllLocale(List elements) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.addAll(elements); - return this; - } + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; - /** Account profile information. */ - public Builder setProfile(AccountCreateParams.Defaults.Profile profile) { - this.profile = profile; - return this; - } + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; - /** Default responsibilities held by either Stripe or the platform. */ - public Builder setResponsibilities( - AccountCreateParams.Defaults.Responsibilities responsibilities) { - this.responsibilities = responsibilities; - return this; - } - } + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Profile { - /** The business's publicly-available website. */ - @SerializedName("business_url") - String businessUrl; + public static Builder builder() { + return new Builder(); + } - /** The name which is used by the business. */ - @SerializedName("doing_business_as") - String doingBusinessAs; + public static class Builder { + private BankTerms bankTerms; - /** - * 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 Map extraParams; - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - @SerializedName("product_description") - String productDescription; + private FinancingDisclosures financingDisclosures; - private Profile( - String businessUrl, - String doingBusinessAs, - Map extraParams, - String productDescription) { - this.businessUrl = businessUrl; - this.doingBusinessAs = doingBusinessAs; - this.extraParams = extraParams; - this.productDescription = productDescription; - } + private Platform platform; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } - public static class Builder { - private String businessUrl; + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } - private String doingBusinessAs; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private String productDescription; + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults.Profile build() { - return new AccountCreateParams.Defaults.Profile( - this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); - } + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.Platform + platform) { + this.platform = platform; + return this; + } + } - /** The business's publicly-available website. */ - public Builder setBusinessUrl(String businessUrl) { - this.businessUrl = businessUrl; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(String doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Profile#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; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Profile#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 user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(String productDescription) { - this.productDescription = productDescription; - return this; - } - } - } + private BankTerms( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Responsibilities { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - @SerializedName("fees_collector") - FeesCollector feesCollector; + public static class Builder { + private java.time.Instant date; - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - @SerializedName("losses_collector") - LossesCollector lossesCollector; + private Map extraParams; - private Responsibilities( - Map extraParams, - FeesCollector feesCollector, - LossesCollector lossesCollector) { - this.extraParams = extraParams; - this.feesCollector = feesCollector; - this.lossesCollector = lossesCollector; - } + private String ip; - public static Builder builder() { - return new Builder(); - } + private String userAgent; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } - private FeesCollector feesCollector; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - private LossesCollector lossesCollector; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults.Responsibilities build() { - return new AccountCreateParams.Defaults.Responsibilities( - this.extraParams, this.feesCollector, this.lossesCollector); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#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 a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Responsibilities#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; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Responsibilities#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 user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - public Builder setFeesCollector( - AccountCreateParams.Defaults.Responsibilities.FeesCollector feesCollector) { - this.feesCollector = feesCollector; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - public Builder setLossesCollector( - AccountCreateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { - this.lossesCollector = lossesCollector; - return this; - } - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - public enum FeesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("application_custom") - APPLICATION_CUSTOM("application_custom"), + private FinancingDisclosures( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("application_express") - APPLICATION_EXPRESS("application_express"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("stripe") - STRIPE("stripe"); + public static class Builder { + private java.time.Instant date; - @Getter(onMethod_ = {@Override}) - private final String value; + private Map extraParams; - FeesCollector(String value) { - this.value = value; - } - } + private String ip; - public enum LossesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), + private String userAgent; - @SerializedName("stripe") - STRIPE("stripe"); + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - LossesCollector(String value) { - this.value = value; - } - } - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public enum Locale implements ApiRequestParams.EnumParam { - @SerializedName("ar-SA") - AR_SA("ar-SA"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bg") - BG("bg"), + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("bg-BG") - BG_BG("bg-BG"), + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("cs") - CS("cs"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - @SerializedName("cs-CZ") - CS_CZ("cs-CZ"), + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("da") - DA("da"), + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - @SerializedName("da-DK") - DA_DK("da-DK"), + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("de") - DE("de"), + private Platform( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("de-DE") - DE_DE("de-DE"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("el") - EL("el"), + public static class Builder { + private java.time.Instant date; - @SerializedName("el-GR") - EL_GR("el-GR"), + private Map extraParams; - @SerializedName("en") - EN("en"), + private String ip; - @SerializedName("en-AU") - EN_AU("en-AU"), + private String userAgent; - @SerializedName("en-CA") - EN_CA("en-CA"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("en-GB") - EN_GB("en-GB"), + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - @SerializedName("en-IE") - EN_IE("en-IE"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#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; + } - @SerializedName("en-IN") - EN_IN("en-IN"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("en-NZ") - EN_NZ("en-NZ"), + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("en-SG") - EN_SG("en-SG"), + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + } - @SerializedName("en-US") - EN_US("en-US"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - @SerializedName("es") - ES("es"), + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - @SerializedName("es-419") - ES_419("es-419"), + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("es-ES") - ES_ES("es-ES"), + /** + * Terms of service acceptances for commercial issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - @SerializedName("et") - ET("et"), + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; - @SerializedName("et-EE") - ET_EE("et-EE"), + private CrossRiverBank( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + PrepaidCard prepaidCard, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + this.spendCard = spendCard; + } - @SerializedName("fi") - FI("fi"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("fil") - FIL("fil"), + public static class Builder { + private ApplePay applePay; - @SerializedName("fil-PH") - FIL_PH("fil-PH"), + private ChargeCard chargeCard; - @SerializedName("fi-FI") - FI_FI("fi-FI"), + private Map extraParams; - @SerializedName("fr") - FR("fr"), + private PrepaidCard prepaidCard; - @SerializedName("fr-CA") - FR_CA("fr-CA"), + private SpendCard spendCard; - @SerializedName("fr-FR") - FR_FR("fr-FR"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank( + this.applePay, + this.chargeCard, + this.extraParams, + this.prepaidCard, + this.spendCard); + } - @SerializedName("he-IL") - HE_IL("he-IL"), + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setApplePay( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - @SerializedName("hr") - HR("hr"), + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setChargeCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - @SerializedName("hr-HR") - HR_HR("hr-HR"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#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; + } - @SerializedName("hu") - HU("hu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("hu-HU") - HU_HU("hu-HU"), + /** + * Terms of service acceptances for commercial issuing prepaid cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setPrepaidCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } - @SerializedName("id") - ID("id"), + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setSpendCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - @SerializedName("id-ID") - ID_ID("id-ID"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - @SerializedName("it") - IT("it"), + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("it-IT") - IT_IT("it-IT"), + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - @SerializedName("ja") - JA("ja"), + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("ja-JP") - JA_JP("ja-JP"), + private ApplePay( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("ko") - KO("ko"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ko-KR") - KO_KR("ko-KR"), + public static class Builder { + private java.time.Instant date; - @SerializedName("lt") - LT("lt"), + private Map extraParams; - @SerializedName("lt-LT") - LT_LT("lt-LT"), + private String ip; - @SerializedName("lv") - LV("lv"), + private String userAgent; - @SerializedName("lv-LV") - LV_LV("lv-LV"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("ms") - MS("ms"), + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - @SerializedName("ms-MY") - MS_MY("ms-MY"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#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; + } - @SerializedName("mt") - MT("mt"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mt-MT") - MT_MT("mt-MT"), + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("nb") - NB("nb"), + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("nb-NO") - NB_NO("nb-NO"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - @SerializedName("nl") - NL("nl"), + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("nl-NL") - NL_NL("nl-NL"), + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; - @SerializedName("pl") - PL("pl"), + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; - @SerializedName("pl-PL") - PL_PL("pl-PL"), + private ChargeCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } - @SerializedName("pt") - PT("pt"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pt-BR") - PT_BR("pt-BR"), + public static class Builder { + private BankTerms bankTerms; - @SerializedName("pt-PT") - PT_PT("pt-PT"), + private Map extraParams; - @SerializedName("ro") - RO("ro"), + private FinancingDisclosures financingDisclosures; - @SerializedName("ro-RO") - RO_RO("ro-RO"), + private Platform platform; - @SerializedName("ru") - RU("ru"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } - @SerializedName("ru-RU") - RU_RU("ru-RU"), + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } - @SerializedName("sk") - SK("sk"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sk-SK") - SK_SK("sk-SK"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sl") - SL("sl"), + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } - @SerializedName("sl-SI") - SL_SI("sl-SI"), + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } - @SerializedName("sv") - SV("sv"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - @SerializedName("sv-SE") - SV_SE("sv-SE"), + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("th") - TH("th"), + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - @SerializedName("th-TH") - TH_TH("th-TH"), + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("tr") - TR("tr"), + private BankTerms( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("tr-TR") - TR_TR("tr-TR"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vi") - VI("vi"), + public static class Builder { + private java.time.Instant date; - @SerializedName("vi-VN") - VI_VN("vi-VN"), + private Map extraParams; - @SerializedName("zh") - ZH("zh"), + private String ip; - @SerializedName("zh-Hans") - ZH_HANS("zh-Hans"), + private String userAgent; - @SerializedName("zh-Hant-HK") - ZH_HANT_HK("zh-Hant-HK"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("zh-Hant-TW") - ZH_HANT_TW("zh-Hant-TW"), + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - @SerializedName("zh-HK") - ZH_HK("zh-HK"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#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; + } - @SerializedName("zh-TW") - ZH_TW("zh-TW"); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#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(onMethod_ = {@Override}) - private final String value; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - Locale(String value) { - this.value = value; - } - } - } + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Identity { - /** - * Attestations from the identity's key people, e.g. owners, executives, directors, - * representatives. - */ - @SerializedName("attestations") - Attestations attestations; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** Information about the company or business. */ - @SerializedName("business_details") - BusinessDetails businessDetails; + /** + * 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 country in which the account holder resides, or in which the business is legally - * established. This should be an ISO - * 3166-1 alpha-2 country code. - */ - @SerializedName("country") - String country; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** The entity type. */ - @SerializedName("entity_type") - EntityType entityType; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * 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 FinancingDisclosures( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Information about the person represented by the account. */ - @SerializedName("individual") - Individual individual; + public static Builder builder() { + return new Builder(); + } - private Identity( - Attestations attestations, - BusinessDetails businessDetails, - String country, - EntityType entityType, - Map extraParams, - Individual individual) { - this.attestations = attestations; - this.businessDetails = businessDetails; - this.country = country; - this.entityType = entityType; - this.extraParams = extraParams; - this.individual = individual; - } + public static class Builder { + private java.time.Instant date; - public static Builder builder() { - return new Builder(); - } + private Map extraParams; - public static class Builder { - private Attestations attestations; + private String ip; - private BusinessDetails businessDetails; + private String userAgent; - private String country; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } - private EntityType entityType; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Individual individual; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity build() { - return new AccountCreateParams.Identity( - this.attestations, - this.businessDetails, - this.country, - this.entityType, - this.extraParams, - this.individual); - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * Attestations from the identity's key people, e.g. owners, executives, directors, - * representatives. - */ - public Builder setAttestations(AccountCreateParams.Identity.Attestations attestations) { - this.attestations = attestations; - return this; - } + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - /** Information about the company or business. */ - public Builder setBusinessDetails( - AccountCreateParams.Identity.BusinessDetails businessDetails) { - this.businessDetails = businessDetails; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO 3166-1 alpha-2 country - * code. - */ - public Builder setCountry(String country) { - this.country = country; - return this; - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The entity type. */ - public Builder setEntityType(AccountCreateParams.Identity.EntityType entityType) { - this.entityType = entityType; - return this; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountCreateParams.Identity#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; - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountCreateParams.Identity#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Platform( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Information about the person represented by the account. */ - public Builder setIndividual(AccountCreateParams.Identity.Individual individual) { - this.individual = individual; - return this; - } - } + public static Builder builder() { + return new Builder(); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Attestations { - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - @SerializedName("directorship_declaration") - DirectorshipDeclaration directorshipDeclaration; + public static class Builder { + private java.time.Instant date; - /** - * 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 Map extraParams; - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - @SerializedName("ownership_declaration") - OwnershipDeclaration ownershipDeclaration; + private String ip; - /** Attestation that all Persons with a specific Relationship value have been provided. */ - @SerializedName("persons_provided") - PersonsProvided personsProvided; + private String userAgent; - /** - * This hash is used to attest that the representative is authorized to act as the - * representative of their legal entity. - */ - @SerializedName("representative_declaration") - RepresentativeDeclaration representativeDeclaration; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** Attestations of accepted terms of service agreements. */ - @SerializedName("terms_of_service") - TermsOfService termsOfService; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - private Attestations( - DirectorshipDeclaration directorshipDeclaration, - Map extraParams, - OwnershipDeclaration ownershipDeclaration, - PersonsProvided personsProvided, - RepresentativeDeclaration representativeDeclaration, - TermsOfService termsOfService) { - this.directorshipDeclaration = directorshipDeclaration; - this.extraParams = extraParams; - this.ownershipDeclaration = ownershipDeclaration; - this.personsProvided = personsProvided; - this.representativeDeclaration = representativeDeclaration; - this.termsOfService = termsOfService; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static class Builder { - private DirectorshipDeclaration directorshipDeclaration; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - private Map extraParams; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - private OwnershipDeclaration ownershipDeclaration; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Bank terms of service acceptance for commercial issuing prepaid cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - private PersonsProvided personsProvided; + /** + * 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 RepresentativeDeclaration representativeDeclaration; + /** + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; - private TermsOfService termsOfService; + private PrepaidCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations build() { - return new AccountCreateParams.Identity.Attestations( - this.directorshipDeclaration, - this.extraParams, - this.ownershipDeclaration, - this.personsProvided, - this.representativeDeclaration, - this.termsOfService); - } + public static Builder builder() { + return new Builder(); + } - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - public Builder setDirectorshipDeclaration( - AccountCreateParams.Identity.Attestations.DirectorshipDeclaration - directorshipDeclaration) { - this.directorshipDeclaration = directorshipDeclaration; - return this; - } + public static class Builder { + private BankTerms bankTerms; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Platform platform; - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - public Builder setOwnershipDeclaration( - AccountCreateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { - this.ownershipDeclaration = ownershipDeclaration; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard( + this.bankTerms, this.extraParams, this.platform); + } - /** Attestation that all Persons with a specific Relationship value have been provided. */ - public Builder setPersonsProvided( - AccountCreateParams.Identity.Attestations.PersonsProvided personsProvided) { - this.personsProvided = personsProvided; - return this; - } + /** + * Bank terms of service acceptance for commercial issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } - /** - * This hash is used to attest that the representative is authorized to act as the - * representative of their legal entity. - */ - public Builder setRepresentativeDeclaration( - AccountCreateParams.Identity.Attestations.RepresentativeDeclaration - representativeDeclaration) { - this.representativeDeclaration = representativeDeclaration; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Attestations of accepted terms of service agreements. */ - public Builder setTermsOfService( - AccountCreateParams.Identity.Attestations.TermsOfService termsOfService) { - this.termsOfService = termsOfService; - return this; - } - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DirectorshipDeclaration { - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + /** + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.Platform + platform) { + this.platform = platform; + return this; + } + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** The IP address from which the director attestation was made. */ - @SerializedName("ip") - String ip; + /** + * 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 user agent of the browser from which the director attestation was made. */ - @SerializedName("user_agent") - String userAgent; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - private DirectorshipDeclaration( - java.time.Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private BankTerms( + java.time.Instant 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 Builder builder() { + return new Builder(); + } - public static class Builder { - private java.time.Instant date; + public static class Builder { + private java.time.Instant date; - private Map extraParams; + private Map extraParams; - private String ip; + private String ip; - private String userAgent; + private String userAgent; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.DirectorshipDeclaration build() { - return new AccountCreateParams.Identity.Attestations.DirectorshipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.PrepaidCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 - * AccountCreateParams.Identity.Attestations.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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.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; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.BankTerms#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 director attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OwnershipDeclaration { - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * 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; + /** + * 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 IP address from which the beneficial owner attestation was made. */ - @SerializedName("ip") - String ip; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** The user agent of the browser from which the beneficial owner attestation was made. */ - @SerializedName("user_agent") - String userAgent; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - private OwnershipDeclaration( - java.time.Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + private Platform( + java.time.Instant 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 Builder builder() { + return new Builder(); + } - public static class Builder { - private java.time.Instant date; + public static class Builder { + private java.time.Instant date; - private Map extraParams; + private Map extraParams; - private String ip; + private String ip; - private String userAgent; + private String userAgent; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.OwnershipDeclaration build() { - return new AccountCreateParams.Identity.Attestations.OwnershipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.PrepaidCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 - * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.Platform#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 beneficial owner attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PersonsProvided { - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - @SerializedName("directors") - Boolean directors; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - @SerializedName("executives") - Boolean executives; + /** + * 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; - /** - * 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; + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; - /** - * Whether the company’s owners have been provided. Set this Boolean to true after creating - * all the company’s owners with the Persons API. - */ - @SerializedName("owners") - Boolean owners; + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + } - /** Reason for why the company is exempt from providing ownership information. */ - @SerializedName("ownership_exemption_reason") - OwnershipExemptionReason ownershipExemptionReason; + public static Builder builder() { + return new Builder(); + } - private PersonsProvided( - Boolean directors, - Boolean executives, - Map extraParams, - Boolean owners, - OwnershipExemptionReason ownershipExemptionReason) { - this.directors = directors; - this.executives = executives; - this.extraParams = extraParams; - this.owners = owners; - this.ownershipExemptionReason = ownershipExemptionReason; - } + public static class Builder { + private BankTerms bankTerms; - public static Builder builder() { - return new Builder(); - } + private Map extraParams; - public static class Builder { - private Boolean directors; + private FinancingDisclosures financingDisclosures; - private Boolean executives; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures); + } - private Map extraParams; + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } - private Boolean owners; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private OwnershipExemptionReason ownershipExemptionReason; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.PersonsProvided build() { - return new AccountCreateParams.Identity.Attestations.PersonsProvided( - this.directors, - this.executives, - this.extraParams, - this.owners, - this.ownershipExemptionReason); - } + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - public Builder setDirectors(Boolean directors) { - this.directors = directors; - return this; - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - public Builder setExecutives(Boolean executives) { - this.executives = executives; - return this; - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#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; - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private BankTerms( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** - * Whether the company’s owners have been provided. Set this Boolean to true after - * creating all the company’s owners with the Persons API. - */ - public Builder setOwners(Boolean owners) { - this.owners = owners; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** Reason for why the company is exempt from providing ownership information. */ - public Builder setOwnershipExemptionReason( - AccountCreateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason - ownershipExemptionReason) { - this.ownershipExemptionReason = ownershipExemptionReason; - return this; - } - } + public static class Builder { + private java.time.Instant date; - public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { - @SerializedName("qualified_entity_exceeds_ownership_threshold") - QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( - "qualified_entity_exceeds_ownership_threshold"), + private Map extraParams; - @SerializedName("qualifies_as_financial_institution") - QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); + private String ip; - @Getter(onMethod_ = {@Override}) - private final String value; + private String userAgent; - OwnershipExemptionReason(String value) { - this.value = value; - } - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RepresentativeDeclaration { - /** - * The time marking when the representative attestation was made. Represented as a RFC 3339 - * date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#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; + } - /** The IP address from which the representative attestation was made. */ - @SerializedName("ip") - String ip; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#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 user agent of the browser from which the representative attestation was made. */ - @SerializedName("user_agent") - String userAgent; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - private RepresentativeDeclaration( - java.time.Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - public static class Builder { - private java.time.Instant date; + /** + * 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 Map extraParams; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - private String ip; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - private String userAgent; + private FinancingDisclosures( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.RepresentativeDeclaration build() { - return new AccountCreateParams.Identity.Attestations.RepresentativeDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } + public static Builder builder() { + return new Builder(); + } - /** - * The time marking when the representative attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + public static class Builder { + private java.time.Instant date; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.RepresentativeDeclaration#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.RepresentativeDeclaration#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private String ip; - /** The IP address from which the representative attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + private String userAgent; - /** The user agent of the browser from which the representative attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TermsOfService { - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - @SerializedName("account") - Account account; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** Details on the Account's acceptance of Issuing-specific terms of service. */ - @SerializedName("card_creator") - CardCreator cardCreator; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#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; + } - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - @SerializedName("crypto_storer") - CryptoStorer cryptoStorer; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + } - private TermsOfService( - Account account, - CardCreator cardCreator, - CryptoStorer cryptoStorer, - Map extraParams, - Storer storer) { - this.account = account; - this.cardCreator = cardCreator; - this.cryptoStorer = cryptoStorer; - this.extraParams = extraParams; - this.storer = storer; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FifthThird { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Fifth + * Third as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - public static Builder builder() { - return new Builder(); - } + /** + * Terms of service acceptances for commercial issuing charge cards with Fifth Third + * as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - public static class Builder { - private Account account; + /** + * 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 CardCreator cardCreator; + private FifthThird( + ApplePay applePay, ChargeCard chargeCard, Map extraParams) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + } - private CryptoStorer cryptoStorer; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private ApplePay applePay; - private Storer storer; + private ChargeCard chargeCard; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService( - this.account, this.cardCreator, this.cryptoStorer, this.extraParams, this.storer); - } + private Map extraParams; - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - public Builder setAccount( - AccountCreateParams.Identity.Attestations.TermsOfService.Account account) { - this.account = account; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird(this.applePay, this.chargeCard, this.extraParams); + } - /** Details on the Account's acceptance of Issuing-specific terms of service. */ - public Builder setCardCreator( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator cardCreator) { - this.cardCreator = cardCreator; - return this; - } + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Fifth + * Third as BIN sponsor. + */ + public Builder setApplePay( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .FifthThird.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - public Builder setCryptoStorer( - AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer cryptoStorer) { - this.cryptoStorer = cryptoStorer; - return this; - } + /** + * Terms of service acceptances for commercial issuing charge cards with Fifth Third + * as BIN sponsor. + */ + public Builder setChargeCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .FifthThird.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - public Builder setStorer( - AccountCreateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; - return this; - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Account { - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond - * precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + /** + * 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; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - @SerializedName("ip") - String ip; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - String userAgent; + private ApplePay( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - private Account( - java.time.Instant 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 Builder builder() { - return new Builder(); - } + public static class Builder { + private java.time.Instant date; - public static class Builder { - private java.time.Instant date; + private Map extraParams; - private Map extraParams; + private String ip; - private String ip; + private String userAgent; - private String userAgent; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ApplePay + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.Account build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.Account( - this.date, this.extraParams, this.ip, this.userAgent); - } + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond - * precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant 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 + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardCreator { - /** Terms of service acceptances to create cards for commercial issuing use cases. */ - @SerializedName("commercial") - Commercial commercial; + /** + * Map of extra parameters for custom features not available in this client library. + * The 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; - /** - * 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; + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Fifth Third as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; - private CardCreator(Commercial commercial, Map extraParams) { - this.commercial = commercial; - this.extraParams = extraParams; - } + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Fifth Third as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; - public static Builder builder() { - return new Builder(); - } + private ChargeCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } - public static class Builder { - private Commercial commercial; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private BankTerms bankTerms; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator( - this.commercial, this.extraParams); - } + private Map extraParams; - /** Terms of service acceptances to create cards for commercial issuing use cases. */ - public Builder setCommercial( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - commercial) { - this.commercial = commercial; - return this; - } + private FinancingDisclosures financingDisclosures; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Platform platform; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Commercial { - /** Terms of service acceptances for Stripe commercial card issuing. */ - @SerializedName("account_holder") - AccountHolder accountHolder; + /** + * Bank terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } - /** - * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. - */ - @SerializedName("celtic") - Celtic celtic; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Terms of service acceptances for commercial issuing cards with Cross River Bank as - * BIN sponsor. - */ - @SerializedName("cross_river_bank") - CrossRiverBank crossRiverBank; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * 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; + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Fifth Third as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } - /** Terms of service acceptances for Stripe commercial card Global issuing. */ - @SerializedName("global_account_holder") - GlobalAccountHolder globalAccountHolder; + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Fifth Third as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } - /** - * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. - */ - @SerializedName("lead") - Lead lead; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - private Commercial( - AccountHolder accountHolder, - Celtic celtic, - CrossRiverBank crossRiverBank, - Map extraParams, - GlobalAccountHolder globalAccountHolder, - Lead lead) { - this.accountHolder = accountHolder; - this.celtic = celtic; - this.crossRiverBank = crossRiverBank; - this.extraParams = extraParams; - this.globalAccountHolder = globalAccountHolder; - this.lead = lead; - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - public static class Builder { - private AccountHolder accountHolder; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - private Celtic celtic; + private BankTerms( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - private CrossRiverBank crossRiverBank; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private java.time.Instant date; - private GlobalAccountHolder globalAccountHolder; + private Map extraParams; - private Lead lead; + private String ip; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial( - this.accountHolder, - this.celtic, - this.crossRiverBank, - this.extraParams, - this.globalAccountHolder, - this.lead); - } + private String userAgent; - /** Terms of service acceptances for Stripe commercial card issuing. */ - public Builder setAccountHolder( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .AccountHolder - accountHolder) { - this.accountHolder = accountHolder; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.FifthThird.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * Terms of service acceptances for commercial issuing cards with Celtic as BIN - * sponsor. - */ - public Builder setCeltic( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic - celtic) { - this.celtic = celtic; - return this; - } + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** - * Terms of service acceptances for commercial issuing cards with Cross River Bank as - * BIN sponsor. - */ - public Builder setCrossRiverBank( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank - crossRiverBank) { - this.crossRiverBank = crossRiverBank; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - /** Terms of service acceptances for Stripe commercial card Global issuing. */ - public Builder setGlobalAccountHolder( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .GlobalAccountHolder - globalAccountHolder) { - this.globalAccountHolder = globalAccountHolder; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. - */ - public Builder setLead( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Lead - lead) { - this.lead = lead; - return this; - } - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AccountHolder { - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** - * 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 user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private FinancingDisclosures( + java.time.Instant 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 java.time.Instant date; - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - @SerializedName("ip") - String ip; + private Map extraParams; - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - String userAgent; + private String ip; - private AccountHolder( - java.time.Instant date, - Map extraParams, - String ip, - String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + private String userAgent; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.FifthThird.ChargeCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } - public static class Builder { - private java.time.Instant date; + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private String ip; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private String userAgent; + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.AccountHolder - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.AccountHolder( - this.date, this.extraParams, this.ip, this.userAgent); + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } } - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private Platform( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + public static class Builder { + private java.time.Instant date; - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.FifthThird.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Celtic { - /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as - * BIN sponsor. - */ - @SerializedName("apple_pay") - ApplePay applePay; - + public static class GlobalAccountHolder { /** - * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN - * sponsor. + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. */ - @SerializedName("charge_card") - ChargeCard chargeCard; + @SerializedName("date") + java.time.Instant date; /** * Map of extra parameters for custom features not available in this client library. @@ -14752,21 +19134,28 @@ public static class Celtic { Map extraParams; /** - * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN - * sponsor. + * Required. The IP address from which the Account's representative + * accepted the terms of service. */ - @SerializedName("spend_card") - SpendCard spendCard; + @SerializedName("ip") + String ip; - private Celtic( - ApplePay applePay, - ChargeCard chargeCard, + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private GlobalAccountHolder( + java.time.Instant date, Map extraParams, - SpendCard spendCard) { - this.applePay = applePay; - this.chargeCard = chargeCard; + String ip, + String userAgent) { + this.date = date; this.extraParams = extraParams; - this.spendCard = spendCard; + this.ip = ip; + this.userAgent = userAgent; } public static Builder builder() { @@ -14774,44 +19163,30 @@ public static Builder builder() { } public static class Builder { - private ApplePay applePay; - - private ChargeCard chargeCard; + private java.time.Instant date; private Map extraParams; - private SpendCard spendCard; + private String ip; + + private String userAgent; /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic + .Commercial.GlobalAccountHolder build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic( - this.applePay, this.chargeCard, this.extraParams, this.spendCard); - } - - /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic - * as BIN sponsor. - */ - public Builder setApplePay( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic.ApplePay - applePay) { - this.applePay = applePay; - return this; + .Commercial.GlobalAccountHolder( + this.date, this.extraParams, this.ip, this.userAgent); } /** - * Terms of service acceptances for commercial issuing charge cards with Celtic as - * BIN sponsor. + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. */ - public Builder setChargeCard( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic.ChargeCard - chargeCard) { - this.chargeCard = chargeCard; + public Builder setDate(java.time.Instant date) { + this.date = date; return this; } @@ -14819,7 +19194,7 @@ public Builder setChargeCard( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -14833,530 +19208,279 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Terms of service acceptances for commercial issuing spend cards with Celtic as - * BIN sponsor. - */ - public Builder setSpendCard( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic.SpendCard - spendCard) { - this.spendCard = spendCard; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ApplePay { - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-level field (serialized) name in this param object. - * Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - @SerializedName("ip") - String ip; - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - String userAgent; - - private ApplePay( - java.time.Instant 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 java.time.Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ApplePay - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ApplePay( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant 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 - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ChargeCard { - /** - * Bank terms of service acceptance for commercial issuing charge cards with Celtic - * as BIN sponsor. + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} + * for the field documentation. */ - @SerializedName("bank_terms") - BankTerms bankTerms; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-level field (serialized) name in this param object. - * Effectively, this map is flattened to its parent instance. + * Required. The IP address from which the Account's representative + * accepted the terms of service. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setIp(String ip) { + this.ip = ip; + return this; + } /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Celtic as BIN sponsor. + * The user agent of the browser from which the Account's representative accepted + * the terms of service. */ - @SerializedName("platform") - Platform platform; - - private ChargeCard( - BankTerms bankTerms, Map extraParams, Platform platform) { - this.bankTerms = bankTerms; - this.extraParams = extraParams; - this.platform = platform; + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Lead { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - public static class Builder { - private BankTerms bankTerms; + /** + * 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 Map extraParams; + /** + * Terms of service acceptances for commercial issuing prepaid cards with Lead as BIN + * sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private Platform platform; + private Lead( + ApplePay applePay, Map extraParams, PrepaidCard prepaidCard) { + this.applePay = applePay; + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard( - this.bankTerms, this.extraParams, this.platform); - } + public static Builder builder() { + return new Builder(); + } - /** - * Bank terms of service acceptance for commercial issuing charge cards with - * Celtic as BIN sponsor. - */ - public Builder setBankTerms( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.BankTerms - bankTerms) { - this.bankTerms = bankTerms; - return this; - } + public static class Builder { + private ApplePay applePay; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private PrepaidCard prepaidCard; - /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Celtic as BIN sponsor. - */ - public Builder setPlatform( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.Platform - platform) { - this.platform = platform; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Lead + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Lead(this.applePay, this.extraParams, this.prepaidCard); } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankTerms { - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; - - /** - * Map of extra parameters for custom features not available in this client - * library. The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-level field (serialized) name in this param object. - * Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - @SerializedName("ip") - String ip; - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - String userAgent; + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as + * BIN sponsor. + */ + public Builder setApplePay( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Lead.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - private BankTerms( - java.time.Instant date, - Map extraParams, - String ip, - String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for commercial issuing prepaid cards with Lead as + * BIN sponsor. + */ + public Builder setPrepaidCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Lead.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - public static class Builder { - private java.time.Instant date; + /** + * 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 Map extraParams; + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - private String ip; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; - private String userAgent; + private ApplePay( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.BankTerms - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.ChargeCard.BankTerms( - this.date, this.extraParams, this.ip, this.userAgent); - } + public static Builder builder() { + return new Builder(); + } - /** - * Required. The time when the Account's representative - * accepted the terms of service. Represented as a RFC 3339 date & time UTC - * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + public static class Builder { + private java.time.Instant date; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for - * the first `put/putAll` call, and subsequent calls add additional key/value - * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private String ip; - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + private String userAgent; - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Lead.ApplePay + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Lead.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Platform { /** * Required. The time when the Account's representative accepted * the terms of service. Represented as a RFC 3339 date & time UTC value in * millisecond precision, for example: 2022-09-18T13:22:18.123Z. */ - @SerializedName("date") - java.time.Instant date; + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } /** - * Map of extra parameters for custom features not available in this client - * library. The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-level field (serialized) name in this param object. - * Effectively, this map is flattened to its parent instance. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} + * for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } /** * Required. The IP address from which the Account's * representative accepted the terms of service. */ - @SerializedName("ip") - String ip; + public Builder setIp(String ip) { + this.ip = ip; + return this; + } /** * The user agent of the browser from which the Account's representative accepted * the terms of service. */ - @SerializedName("user_agent") - String userAgent; - - private Platform( - java.time.Instant date, - Map extraParams, - String ip, - String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; + public Builder setUserAgent(String userAgent) { this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private java.time.Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.Platform - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.ChargeCard.Platform( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * Required. The time when the Account's representative - * accepted the terms of service. Represented as a RFC 3339 date & time UTC - * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant 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 - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for - * the first `put/putAll` call, and subsequent calls add additional key/value - * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class SpendCard { + public static class PrepaidCard { /** - * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * Bank terms of service acceptance for commercial issuing prepaid cards with Lead * as BIN sponsor. */ @SerializedName("bank_terms") @@ -15373,27 +19497,16 @@ public static class SpendCard { Map extraParams; /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Celtic as BIN sponsor. - */ - @SerializedName("financing_disclosures") - FinancingDisclosures financingDisclosures; - - /** - * Platform terms of service acceptance for commercial issuing spend cards with - * Celtic as BIN sponsor. + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Lead as BIN sponsor. */ @SerializedName("platform") Platform platform; - private SpendCard( - BankTerms bankTerms, - Map extraParams, - FinancingDisclosures financingDisclosures, - Platform platform) { + private PrepaidCard( + BankTerms bankTerms, Map extraParams, Platform platform) { this.bankTerms = bankTerms; this.extraParams = extraParams; - this.financingDisclosures = financingDisclosures; this.platform = platform; } @@ -15406,26 +19519,24 @@ public static class Builder { private Map extraParams; - private FinancingDisclosures financingDisclosures; - private Platform platform; /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard + .Commercial.Lead.PrepaidCard build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard( - this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + .Commercial.Lead.PrepaidCard( + this.bankTerms, this.extraParams, this.platform); } /** - * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * Bank terms of service acceptance for commercial issuing prepaid cards with Lead * as BIN sponsor. */ public Builder setBankTerms( AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.BankTerms + .Commercial.Lead.PrepaidCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -15435,7 +19546,7 @@ public Builder setBankTerms( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -15450,7 +19561,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -15462,24 +19573,12 @@ public Builder putAllExtraParam(Map map) { } /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Celtic as BIN sponsor. - */ - public Builder setFinancingDisclosures( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.FinancingDisclosures - financingDisclosures) { - this.financingDisclosures = financingDisclosures; - return this; - } - - /** - * Platform terms of service acceptance for commercial issuing spend cards with - * Celtic as BIN sponsor. + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Lead as BIN sponsor. */ public Builder setPlatform( AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.Platform + .Commercial.Lead.PrepaidCard.Platform platform) { this.platform = platform; return this; @@ -15547,10 +19646,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.BankTerms + .Commercial.Lead.PrepaidCard.BankTerms build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.SpendCard.BankTerms( + .CardCreator.Commercial.Lead.PrepaidCard.BankTerms( this.date, this.extraParams, this.ip, this.userAgent); } @@ -15568,7 +19667,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -15583,7 +19682,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -15616,7 +19715,7 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancingDisclosures { + public static class Platform { /** * Required. The time when the Account's representative accepted * the terms of service. Represented as a RFC 3339 date & time UTC value in @@ -15649,7 +19748,7 @@ public static class FinancingDisclosures { @SerializedName("user_agent") String userAgent; - private FinancingDisclosures( + private Platform( java.time.Instant date, Map extraParams, String ip, @@ -15675,10 +19774,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.FinancingDisclosures + .Commercial.Lead.PrepaidCard.Platform build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures( + .CardCreator.Commercial.Lead.PrepaidCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -15696,7 +19795,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -15711,7 +19810,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -15741,154 +19840,312 @@ public Builder setUserAgent(String userAgent) { } } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Platform { - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Consumer { + /** Terms of service acceptances for Stripe consumer card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; - /** - * 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; + /** + * Terms of service acceptances for consumer issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") + Celtic celtic; - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - @SerializedName("ip") - String ip; + /** + * Terms of service acceptances for consumer issuing cards with Cross River Bank as BIN + * sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; + + /** + * 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; + + /** Terms of service acceptances for Stripe consumer card Global issuing. */ + @SerializedName("global_account_holder") + GlobalAccountHolder globalAccountHolder; + + /** Terms of service acceptances for consumer issuing cards with Lead as BIN sponsor. */ + @SerializedName("lead") + Lead lead; + + private Consumer( + AccountHolder accountHolder, + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + GlobalAccountHolder globalAccountHolder, + Lead lead) { + this.accountHolder = accountHolder; + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.globalAccountHolder = globalAccountHolder; + this.lead = lead; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AccountHolder accountHolder; + + private Celtic celtic; + + private CrossRiverBank crossRiverBank; + + private Map extraParams; + + private GlobalAccountHolder globalAccountHolder; + + private Lead lead; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer( + this.accountHolder, + this.celtic, + this.crossRiverBank, + this.extraParams, + this.globalAccountHolder, + this.lead); + } + + /** Terms of service acceptances for Stripe consumer card issuing. */ + public Builder setAccountHolder( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .AccountHolder + accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Terms of service acceptances for consumer issuing cards with Celtic as BIN sponsor. + */ + public Builder setCeltic( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic + celtic) { + this.celtic = celtic; + return this; + } + + /** + * Terms of service acceptances for consumer issuing cards with Cross River Bank as + * BIN sponsor. + */ + public Builder setCrossRiverBank( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Terms of service acceptances for Stripe consumer card Global issuing. */ + public Builder setGlobalAccountHolder( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .GlobalAccountHolder + globalAccountHolder) { + this.globalAccountHolder = globalAccountHolder; + return this; + } + + /** + * Terms of service acceptances for consumer issuing cards with Lead as BIN sponsor. + */ + public Builder setLead( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead + lead) { + this.lead = lead; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder { + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - String userAgent; + /** + * 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 Platform( - java.time.Instant date, - Map extraParams, - String ip, - String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - public static Builder builder() { - return new Builder(); - } + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; - public static class Builder { - private java.time.Instant date; + private AccountHolder( + java.time.Instant date, + Map extraParams, + String ip, + String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private String ip; + public static class Builder { + private java.time.Instant date; - private String userAgent; + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.Platform - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.SpendCard.Platform( - this.date, this.extraParams, this.ip, this.userAgent); - } + private String ip; - /** - * Required. The time when the Account's representative - * accepted the terms of service. Represented as a RFC 3339 date & time UTC - * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + private String userAgent; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .AccountHolder + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.AccountHolder(this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for - * the first `put/putAll` call, and subsequent calls add additional key/value - * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.AccountHolder#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; + } - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CrossRiverBank { + public static class Celtic { /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Cross - * River Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing Apple Pay cards with Celtic as + * BIN sponsor. */ @SerializedName("apple_pay") ApplePay applePay; - /** - * Terms of service acceptances for commercial issuing charge cards with Cross River - * Bank as BIN sponsor. - */ - @SerializedName("charge_card") - ChargeCard chargeCard; - /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -15900,21 +20157,19 @@ public static class CrossRiverBank { Map extraParams; /** - * Terms of service acceptances for commercial issuing spend cards with Cross River - * Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing charge cards with Celtic as BIN + * sponsor. */ - @SerializedName("spend_card") - SpendCard spendCard; + @SerializedName("revolving_credit_card") + RevolvingCreditCard revolvingCreditCard; - private CrossRiverBank( + private Celtic( ApplePay applePay, - ChargeCard chargeCard, Map extraParams, - SpendCard spendCard) { + RevolvingCreditCard revolvingCreditCard) { this.applePay = applePay; - this.chargeCard = chargeCard; this.extraParams = extraParams; - this.spendCard = spendCard; + this.revolvingCreditCard = revolvingCreditCard; } public static Builder builder() { @@ -15924,50 +20179,35 @@ public static Builder builder() { public static class Builder { private ApplePay applePay; - private ChargeCard chargeCard; - private Map extraParams; - private SpendCard spendCard; + private RevolvingCreditCard revolvingCreditCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank( - this.applePay, this.chargeCard, this.extraParams, this.spendCard); + .Consumer.Celtic(this.applePay, this.extraParams, this.revolvingCreditCard); } /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Cross - * River Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing Apple Pay cards with Celtic as + * BIN sponsor. */ public Builder setApplePay( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank.ApplePay + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.ApplePay applePay) { this.applePay = applePay; return this; } - /** - * Terms of service acceptances for commercial issuing charge cards with Cross River - * Bank as BIN sponsor. - */ - public Builder setChargeCard( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank.ChargeCard - chargeCard) { - this.chargeCard = chargeCard; - return this; - } - /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -15982,7 +20222,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -15994,14 +20234,14 @@ public Builder putAllExtraParam(Map map) { } /** - * Terms of service acceptances for commercial issuing spend cards with Cross River - * Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing charge cards with Celtic as BIN + * sponsor. */ - public Builder setSpendCard( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank.SpendCard - spendCard) { - this.spendCard = spendCard; + public Builder setRevolvingCreditCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard + revolvingCreditCard) { + this.revolvingCreditCard = revolvingCreditCard; return this; } } @@ -16067,10 +20307,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ApplePay + .Consumer.Celtic.ApplePay build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ApplePay( + .Consumer.Celtic.ApplePay( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16088,7 +20328,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.ApplePay#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16103,7 +20343,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.ApplePay#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16136,10 +20376,10 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ChargeCard { + public static class RevolvingCreditCard { /** - * Bank terms of service acceptance for commercial issuing charge cards with Cross - * River Bank as BIN sponsor. + * Bank terms of service acceptance for consumer issuing spend cards with Celtic as + * BIN sponsor. */ @SerializedName("bank_terms") BankTerms bankTerms; @@ -16155,20 +20395,20 @@ public static class ChargeCard { Map extraParams; /** - * Financial disclosures terms of service acceptance for commercial issuing charge - * cards with Cross River Bank as BIN sponsor. + * Financial disclosures terms of service acceptance for consumer issuing spend + * cards with Celtic as BIN sponsor. */ @SerializedName("financing_disclosures") FinancingDisclosures financingDisclosures; /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Cross River Bank as BIN sponsor. + * Platform terms of service acceptance for consumer issuing spend cards with Celtic + * as BIN sponsor. */ @SerializedName("platform") Platform platform; - private ChargeCard( + private RevolvingCreditCard( BankTerms bankTerms, Map extraParams, FinancingDisclosures financingDisclosures, @@ -16194,20 +20434,20 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard + .Consumer.Celtic.RevolvingCreditCard build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard( + .Consumer.Celtic.RevolvingCreditCard( this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); } - /** - * Bank terms of service acceptance for commercial issuing charge cards with Cross - * River Bank as BIN sponsor. + /** + * Bank terms of service acceptance for consumer issuing spend cards with Celtic + * as BIN sponsor. */ public Builder setBankTerms( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.BankTerms + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -16217,7 +20457,7 @@ public Builder setBankTerms( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16232,7 +20472,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16244,24 +20484,24 @@ public Builder putAllExtraParam(Map map) { } /** - * Financial disclosures terms of service acceptance for commercial issuing charge - * cards with Cross River Bank as BIN sponsor. + * Financial disclosures terms of service acceptance for consumer issuing spend + * cards with Celtic as BIN sponsor. */ public Builder setFinancingDisclosures( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard.FinancingDisclosures financingDisclosures) { this.financingDisclosures = financingDisclosures; return this; } /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Cross River Bank as BIN sponsor. + * Platform terms of service acceptance for consumer issuing spend cards with + * Celtic as BIN sponsor. */ public Builder setPlatform( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.Platform + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard.Platform platform) { this.platform = platform; return this; @@ -16329,10 +20569,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.BankTerms + .Consumer.Celtic.RevolvingCreditCard.BankTerms build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms( + .CardCreator.Consumer.Celtic.RevolvingCreditCard.BankTerms( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16350,7 +20590,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.BankTerms#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16365,7 +20605,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.BankTerms#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16457,10 +20697,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + .Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures( + .CardCreator.Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16478,7 +20718,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16493,7 +20733,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16585,10 +20825,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.Platform + .Consumer.Celtic.RevolvingCreditCard.Platform build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform( + .CardCreator.Consumer.Celtic.RevolvingCreditCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16606,7 +20846,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16621,7 +20861,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16652,12 +20892,98 @@ public Builder setUserAgent(String userAgent) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** + * 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; + + /** + * Terms of service acceptances for consumer issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + private CrossRiverBank(Map extraParams, PrepaidCard prepaidCard) { + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PrepaidCard prepaidCard; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.CrossRiverBank(this.extraParams, this.prepaidCard); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for consumer issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setPrepaidCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class SpendCard { + public static class PrepaidCard { /** - * Bank terms of service acceptance for commercial issuing spend cards with Cross + * Bank terms of service acceptance for consumer issuing prepaid cards with Cross * River Bank as BIN sponsor. */ @SerializedName("bank_terms") @@ -16674,19 +21000,28 @@ public static class SpendCard { Map extraParams; /** - * Financial disclosures terms of service acceptance for commercial issuing spend + * Financial disclosures terms of service acceptance for consumer issuing prepaid * cards with Cross River Bank as BIN sponsor. */ @SerializedName("financing_disclosures") FinancingDisclosures financingDisclosures; - private SpendCard( + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private PrepaidCard( BankTerms bankTerms, Map extraParams, - FinancingDisclosures financingDisclosures) { + FinancingDisclosures financingDisclosures, + Platform platform) { this.bankTerms = bankTerms; this.extraParams = extraParams; this.financingDisclosures = financingDisclosures; + this.platform = platform; } public static Builder builder() { @@ -16700,73 +21035,215 @@ public static class Builder { private FinancingDisclosures financingDisclosures; + private Platform platform; + /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard + .Consumer.CrossRiverBank.PrepaidCard build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard( - this.bankTerms, this.extraParams, this.financingDisclosures); + .Consumer.CrossRiverBank.PrepaidCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); } /** - * Bank terms of service acceptance for commercial issuing spend cards with Cross + * Bank terms of service acceptance for consumer issuing prepaid cards with Cross * River Bank as BIN sponsor. */ public Builder setBankTerms( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.BankTerms + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private BankTerms( + java.time.Instant 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 java.time.Instant date; + + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.CrossRiverBank.PrepaidCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Consumer.CrossRiverBank.PrepaidCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; } - this.extraParams.putAll(map); - return this; - } - /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Cross River Bank as BIN sponsor. - */ - public Builder setFinancingDisclosures( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures - financingDisclosures) { - this.financingDisclosures = financingDisclosures; - return this; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankTerms { + public static class FinancingDisclosures { /** * Required. The time when the Account's representative accepted * the terms of service. Represented as a RFC 3339 date & time UTC value in @@ -16799,7 +21276,7 @@ public static class BankTerms { @SerializedName("user_agent") String userAgent; - private BankTerms( + private FinancingDisclosures( java.time.Instant date, Map extraParams, String ip, @@ -16825,10 +21302,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.BankTerms + .Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms( + .CardCreator.Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16846,7 +21323,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16861,7 +21338,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16894,7 +21371,7 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancingDisclosures { + public static class Platform { /** * Required. The time when the Account's representative accepted * the terms of service. Represented as a RFC 3339 date & time UTC value in @@ -16927,7 +21404,7 @@ public static class FinancingDisclosures { @SerializedName("user_agent") String userAgent; - private FinancingDisclosures( + private Platform( java.time.Instant date, Map extraParams, String ip, @@ -16953,10 +21430,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + .Consumer.CrossRiverBank.PrepaidCard.Platform build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures( + .CardCreator.Consumer.CrossRiverBank.PrepaidCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16974,7 +21451,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16989,7 +21466,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17082,11 +21559,11 @@ public static class Builder { private String userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.GlobalAccountHolder + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .GlobalAccountHolder build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.GlobalAccountHolder( + .Consumer.GlobalAccountHolder( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17104,7 +21581,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17119,7 +21596,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17153,13 +21630,6 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) public static class Lead { - /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as - * BIN sponsor. - */ - @SerializedName("apple_pay") - ApplePay applePay; - /** * 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 @@ -17171,218 +21641,74 @@ public static class Lead { Map extraParams; /** - * Terms of service acceptances for commercial issuing prepaid cards with Lead as BIN + * Terms of service acceptances for consumer issuing prepaid cards with Lead as BIN * sponsor. */ @SerializedName("prepaid_card") PrepaidCard prepaidCard; - private Lead( - ApplePay applePay, Map extraParams, PrepaidCard prepaidCard) { - this.applePay = applePay; + private Lead(Map extraParams, PrepaidCard prepaidCard) { this.extraParams = extraParams; this.prepaidCard = prepaidCard; } - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private ApplePay applePay; - - private Map extraParams; - - private PrepaidCard prepaidCard; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead(this.applePay, this.extraParams, this.prepaidCard); - } - - /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as - * BIN sponsor. - */ - public Builder setApplePay( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Lead.ApplePay - applePay) { - this.applePay = applePay; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Terms of service acceptances for commercial issuing prepaid cards with Lead as - * BIN sponsor. - */ - public Builder setPrepaidCard( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Lead.PrepaidCard - prepaidCard) { - this.prepaidCard = prepaidCard; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ApplePay { - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-level field (serialized) name in this param object. - * Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - @SerializedName("ip") - String ip; - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - String userAgent; - - private ApplePay( - java.time.Instant 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 java.time.Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.ApplePay - build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.ApplePay( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * Required. The time when the Account's representative accepted - * the terms of service. Represented as a RFC 3339 date & time UTC value in - * millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private PrepaidCard prepaidCard; - /** - * Required. The IP address from which the Account's - * representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.Lead(this.extraParams, this.prepaidCard); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead#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; + } - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for consumer issuing prepaid cards with Lead as BIN + * sponsor. + */ + public Builder setPrepaidCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; } } @@ -17390,8 +21716,8 @@ public Builder setUserAgent(String userAgent) { @EqualsAndHashCode(callSuper = false) public static class PrepaidCard { /** - * Bank terms of service acceptance for commercial issuing prepaid cards with Lead - * as BIN sponsor. + * Bank terms of service acceptance for consumer issuing prepaid cards with Lead as + * BIN sponsor. */ @SerializedName("bank_terms") BankTerms bankTerms; @@ -17407,16 +21733,27 @@ public static class PrepaidCard { Map extraParams; /** - * Platform terms of service acceptance for commercial issuing prepaid cards with - * Lead as BIN sponsor. + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Lead as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with Lead + * as BIN sponsor. */ @SerializedName("platform") Platform platform; private PrepaidCard( - BankTerms bankTerms, Map extraParams, Platform platform) { + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { this.bankTerms = bankTerms; this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; this.platform = platform; } @@ -17429,24 +21766,26 @@ public static class Builder { private Map extraParams; + private FinancingDisclosures financingDisclosures; + private Platform platform; /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard + .Consumer.Lead.PrepaidCard build() { return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard( - this.bankTerms, this.extraParams, this.platform); + .Consumer.Lead.PrepaidCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); } /** - * Bank terms of service acceptance for commercial issuing prepaid cards with Lead + * Bank terms of service acceptance for consumer issuing prepaid cards with Lead * as BIN sponsor. */ public Builder setBankTerms( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.BankTerms + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -17456,7 +21795,7 @@ public Builder setBankTerms( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17471,7 +21810,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17483,12 +21822,24 @@ public Builder putAllExtraParam(Map map) { } /** - * Platform terms of service acceptance for commercial issuing prepaid cards with + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Lead as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with * Lead as BIN sponsor. */ public Builder setPlatform( - AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.Platform + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard.Platform platform) { this.platform = platform; return this; @@ -17556,10 +21907,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.BankTerms + .Consumer.Lead.PrepaidCard.BankTerms build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Lead.PrepaidCard.BankTerms( + .CardCreator.Consumer.Lead.PrepaidCard.BankTerms( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17577,7 +21928,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.BankTerms#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17592,7 +21943,135 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private FinancingDisclosures( + java.time.Instant 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 java.time.Instant date; + + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.Lead.PrepaidCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Consumer.Lead.PrepaidCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17684,10 +22163,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.Platform + .Consumer.Lead.PrepaidCard.Platform build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Lead.PrepaidCard.Platform( + .CardCreator.Consumer.Lead.PrepaidCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17705,7 +22184,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17720,7 +22199,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { diff --git a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java index c0c71e440ed..b6cd8950893 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java @@ -590,6 +590,10 @@ public static class Capabilities { @SerializedName("commercial") Commercial commercial; + /** Can create cards for consumer issuing use cases. */ + @SerializedName("consumer") + Consumer consumer; + /** * 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. @@ -600,8 +604,10 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Capabilities(Commercial commercial, Map extraParams) { + private Capabilities( + Commercial commercial, Consumer consumer, Map extraParams) { this.commercial = commercial; + this.consumer = consumer; this.extraParams = extraParams; } @@ -612,12 +618,14 @@ public static Builder builder() { public static class Builder { private Commercial commercial; + private Consumer consumer; + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Configuration.CardCreator.Capabilities build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities( - this.commercial, this.extraParams); + this.commercial, this.consumer, this.extraParams); } /** Can create cards for commercial issuing use cases. */ @@ -627,6 +635,13 @@ public Builder setCommercial( return this; } + /** Can create cards for consumer issuing use cases. */ + public Builder setConsumer( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer consumer) { + this.consumer = consumer; + 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 @@ -677,6 +692,10 @@ public static class Commercial { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Can create commercial issuing cards with Fifth Third as BIN sponsor. */ + @SerializedName("fifth_third") + FifthThird fifthThird; + /** Can create commercial issuing cards with Lead as BIN sponsor. */ @SerializedName("lead") Lead lead; @@ -689,11 +708,13 @@ private Commercial( Celtic celtic, CrossRiverBank crossRiverBank, Map extraParams, + FifthThird fifthThird, Lead lead, Stripe stripe) { this.celtic = celtic; this.crossRiverBank = crossRiverBank; this.extraParams = extraParams; + this.fifthThird = fifthThird; this.lead = lead; this.stripe = stripe; } @@ -709,6 +730,8 @@ public static class Builder { private Map extraParams; + private FifthThird fifthThird; + private Lead lead; private Stripe stripe; @@ -716,7 +739,12 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial( - this.celtic, this.crossRiverBank, this.extraParams, this.lead, this.stripe); + this.celtic, + this.crossRiverBank, + this.extraParams, + this.fifthThird, + this.lead, + this.stripe); } /** Can create commercial issuing cards with Celtic as BIN sponsor. */ @@ -765,6 +793,14 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Can create commercial issuing cards with Fifth Third as BIN sponsor. */ + public Builder setFifthThird( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird + fifthThird) { + this.fifthThird = fifthThird; + return this; + } + /** Can create commercial issuing cards with Lead as BIN sponsor. */ public Builder setLead( AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead lead) { @@ -1060,14 +1096,22 @@ public static class CrossRiverBank { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Can create commercial issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ @SerializedName("spend_card") SpendCard spendCard; private CrossRiverBank( - ChargeCard chargeCard, Map extraParams, SpendCard spendCard) { + ChargeCard chargeCard, + Map extraParams, + PrepaidCard prepaidCard, + SpendCard spendCard) { this.chargeCard = chargeCard; this.extraParams = extraParams; + this.prepaidCard = prepaidCard; this.spendCard = spendCard; } @@ -1080,6 +1124,8 @@ public static class Builder { private Map extraParams; + private PrepaidCard prepaidCard; + private SpendCard spendCard; /** Finalize and obtain parameter instance from this builder. */ @@ -1087,7 +1133,8 @@ public static class Builder { .CrossRiverBank build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .CrossRiverBank(this.chargeCard, this.extraParams, this.spendCard); + .CrossRiverBank( + this.chargeCard, this.extraParams, this.prepaidCard, this.spendCard); } /** @@ -1131,6 +1178,17 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Can create commercial issuing prepaid cards with Cross River Bank as BIN sponsor. + */ + public Builder setPrepaidCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ public Builder setSpendCard( AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial @@ -1226,7 +1284,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SpendCard { + public static class PrepaidCard { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -1244,7 +1302,7 @@ public static class SpendCard { @SerializedName("requested") Boolean requested; - private SpendCard(Map extraParams, Boolean requested) { + private PrepaidCard(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -1260,17 +1318,17 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .CrossRiverBank.SpendCard + .CrossRiverBank.PrepaidCard build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .CrossRiverBank.SpendCard(this.extraParams, this.requested); + .CrossRiverBank.PrepaidCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1285,7 +1343,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1306,89 +1364,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Lead { - /** - * 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; - - /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ - @SerializedName("prepaid_card") - PrepaidCard prepaidCard; - - private Lead(Map extraParams, PrepaidCard prepaidCard) { - this.extraParams = extraParams; - this.prepaidCard = prepaidCard; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private PrepaidCard prepaidCard; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead - build() { - return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .Lead(this.extraParams, this.prepaidCard); - } - - /** - * 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 - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#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 - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ - public Builder setPrepaidCard( - AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead - .PrepaidCard - prepaidCard) { - this.prepaidCard = prepaidCard; - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class PrepaidCard { + public static class SpendCard { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -1406,7 +1385,7 @@ public static class PrepaidCard { @SerializedName("requested") Boolean requested; - private PrepaidCard(Map extraParams, Boolean requested) { + private SpendCard(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -1421,18 +1400,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead - .PrepaidCard + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .Lead.PrepaidCard(this.extraParams, this.requested); + .CrossRiverBank.SpendCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1447,7 +1426,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1472,8 +1451,8 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Stripe { - /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + public static class FifthThird { + /** Can create commercial issuing charge cards with Fifth Third as BIN sponsor. */ @SerializedName("charge_card") ChargeCard chargeCard; @@ -1487,15 +1466,9 @@ public static class Stripe { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ - @SerializedName("prepaid_card") - PrepaidCard prepaidCard; - - private Stripe( - ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) { + private FifthThird(ChargeCard chargeCard, Map extraParams) { this.chargeCard = chargeCard; this.extraParams = extraParams; - this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -1507,18 +1480,17 @@ public static class Builder { private Map extraParams; - private PrepaidCard prepaidCard; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .FifthThird build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .Stripe(this.chargeCard, this.extraParams, this.prepaidCard); + .FifthThird(this.chargeCard, this.extraParams); } - /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + /** Can create commercial issuing charge cards with Fifth Third as BIN sponsor. */ public Builder setChargeCard( - AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird .ChargeCard chargeCard) { this.chargeCard = chargeCard; @@ -1529,7 +1501,7 @@ public Builder setChargeCard( * 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 - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1544,7 +1516,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1554,15 +1526,6 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ - public Builder setPrepaidCard( - AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe - .PrepaidCard - prepaidCard) { - this.prepaidCard = prepaidCard; - return this; - } } @Getter @@ -1600,18 +1563,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe - .ChargeCard + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .FifthThird.ChargeCard build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .Stripe.ChargeCard(this.extraParams, this.requested); + .FifthThird.ChargeCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird.ChargeCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1626,7 +1589,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.FifthThird.ChargeCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1647,6 +1610,85 @@ public Builder setRequested(Boolean requested) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Lead { + /** + * 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; + + /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + private Lead(Map extraParams, PrepaidCard prepaidCard) { + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PrepaidCard prepaidCard; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Lead(this.extraParams, this.prepaidCard); + } + + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Can create commercial issuing prepaid cards with Lead as BIN sponsor. */ + public Builder setPrepaidCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) @@ -1683,18 +1725,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead .PrepaidCard build() { return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial - .Stripe.PrepaidCard(this.extraParams, this.requested); + .Lead.PrepaidCard(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1709,7 +1751,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1731,709 +1773,707 @@ public Builder setRequested(Boolean requested) { } } } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Customer { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Stripe { + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the - * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - @SerializedName("billing") - Billing billing; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - /** Capabilities that have been requested on the Customer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + private Stripe( + ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) { + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - @SerializedName("shipping") - Shipping shipping; + public static class Builder { + private ChargeCard chargeCard; - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - @SerializedName("test_clock") - Object testClock; + private Map extraParams; - private Customer( - Boolean applied, - AutomaticIndirectTax automaticIndirectTax, - Billing billing, - Capabilities capabilities, - Map extraParams, - Shipping shipping, - Object testClock) { - this.applied = applied; - this.automaticIndirectTax = automaticIndirectTax; - this.billing = billing; - this.capabilities = capabilities; - this.extraParams = extraParams; - this.shipping = shipping; - this.testClock = testClock; - } + private PrepaidCard prepaidCard; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe(this.chargeCard, this.extraParams, this.prepaidCard); + } - public static class Builder { - private Boolean applied; + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + public Builder setChargeCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - private AutomaticIndirectTax automaticIndirectTax; + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Billing billing; + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Capabilities capabilities; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + public Builder setPrepaidCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Shipping shipping; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Object testClock; + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer build() { - return new AccountUpdateParams.Configuration.Customer( - this.applied, - this.automaticIndirectTax, - this.billing, - this.capabilities, - this.extraParams, - this.shipping, - this.testClock); - } + public static Builder builder() { + return new Builder(); + } - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on - * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - public Builder setAutomaticIndirectTax( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } + private Boolean requested; - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - public Builder setBilling(AccountUpdateParams.Configuration.Customer.Billing billing) { - this.billing = billing; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.ChargeCard(this.extraParams, this.requested); + } - /** Capabilities that have been requested on the Customer Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Customer.Capabilities capabilities) { - this.capabilities = capabilities; - 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * 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 AccountUpdateParams.Configuration.Customer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * 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 AccountUpdateParams.Configuration.Customer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - public Builder setShipping(AccountUpdateParams.Configuration.Customer.Shipping shipping) { - this.shipping = shipping; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - public Builder setTestClock(String testClock) { - this.testClock = testClock; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - public Builder setTestClock(EmptyParam testClock) { - this.testClock = testClock; - return this; - } - } + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * The customer account's tax exemption status: {@code none}, {@code exempt}, or {@code - * reverse}. When {@code reverse}, invoice and receipt PDFs include "Reverse - * charge". - */ - @SerializedName("exempt") - Exempt exempt; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - @SerializedName("ip_address") - Object ipAddress; + private Boolean requested; - /** - * Data source used to identify the customer account's tax location. Defaults to {@code - * identity_address}. Used for automatic indirect tax calculation. - */ - @SerializedName("location_source") - LocationSource locationSource; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.PrepaidCard(this.extraParams, this.requested); + } - /** - * A per-request flag that indicates when Stripe should validate the customer tax location - - * defaults to {@code auto}. - */ - @SerializedName("validate_location") - ValidateLocation validateLocation; + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private AutomaticIndirectTax( - Exempt exempt, - Map extraParams, - Object ipAddress, - LocationSource locationSource, - ValidateLocation validateLocation) { - this.exempt = exempt; - this.extraParams = extraParams; - this.ipAddress = ipAddress; - this.locationSource = locationSource; - this.validateLocation = validateLocation; - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } } - public static class Builder { - private Exempt exempt; - - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Consumer { + /** Can create consumer issuing cards with Celtic as BIN sponsor. */ + @SerializedName("celtic") + Celtic celtic; - private Object ipAddress; + /** Can create consumer issuing cards with Cross River Bank as BIN sponsor. */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; - private LocationSource locationSource; + /** + * 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 ValidateLocation validateLocation; + /** Can create consumer issuing cards with Lead as BIN sponsor. */ + @SerializedName("lead") + Lead lead; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax build() { - return new AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax( - this.exempt, - this.extraParams, - this.ipAddress, - this.locationSource, - this.validateLocation); + private Consumer( + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + Lead lead) { + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.lead = lead; } - /** - * The customer account's tax exemption status: {@code none}, {@code exempt}, or {@code - * reverse}. When {@code reverse}, invoice and receipt PDFs include "Reverse - * charge". - */ - public Builder setExempt( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { - this.exempt = exempt; - return this; + public static Builder builder() { + return new Builder(); } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private Celtic celtic; - /** - * 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 - * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - public Builder setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - return this; - } + private CrossRiverBank crossRiverBank; - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - public Builder setIpAddress(EmptyParam ipAddress) { - this.ipAddress = ipAddress; - return this; - } + private Map extraParams; - /** - * Data source used to identify the customer account's tax location. Defaults to {@code - * identity_address}. Used for automatic indirect tax calculation. - */ - public Builder setLocationSource( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource - locationSource) { - this.locationSource = locationSource; - return this; - } + private Lead lead; - /** - * A per-request flag that indicates when Stripe should validate the customer tax location - * - defaults to {@code auto}. - */ - public Builder setValidateLocation( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.ValidateLocation - validateLocation) { - this.validateLocation = validateLocation; - return this; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer( + this.celtic, this.crossRiverBank, this.extraParams, this.lead); + } - public enum Exempt implements ApiRequestParams.EnumParam { - @SerializedName("exempt") - EXEMPT("exempt"), + /** Can create consumer issuing cards with Celtic as BIN sponsor. */ + public Builder setCeltic( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic celtic) { + this.celtic = celtic; + return this; + } - @SerializedName("none") - NONE("none"), + /** Can create consumer issuing cards with Cross River Bank as BIN sponsor. */ + public Builder setCrossRiverBank( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; + } - @SerializedName("reverse") - REVERSE("reverse"); + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Exempt(String value) { - this.value = value; + /** Can create consumer issuing cards with Lead as BIN sponsor. */ + public Builder setLead( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead lead) { + this.lead = lead; + return this; + } } - } - - public enum LocationSource implements ApiRequestParams.EnumParam { - @SerializedName("identity_address") - IDENTITY_ADDRESS("identity_address"), - - @SerializedName("ip_address") - IP_ADDRESS("ip_address"), - - @SerializedName("payment_method") - PAYMENT_METHOD("payment_method"), - @SerializedName("shipping_address") - SHIPPING_ADDRESS("shipping_address"); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + /** Can create consumer issuing revolving credit cards with Celtic as BIN sponsor. */ + @SerializedName("revolving_credit_card") + RevolvingCreditCard revolvingCreditCard; - LocationSource(String value) { - this.value = value; - } - } + private Celtic( + Map extraParams, RevolvingCreditCard revolvingCreditCard) { + this.extraParams = extraParams; + this.revolvingCreditCard = revolvingCreditCard; + } - public enum ValidateLocation implements ApiRequestParams.EnumParam { - @SerializedName("auto") - AUTO("auto"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("deferred") - DEFERRED("deferred"), + public static class Builder { + private Map extraParams; - @SerializedName("immediately") - IMMEDIATELY("immediately"); + private RevolvingCreditCard revolvingCreditCard; - @Getter(onMethod_ = {@Override}) - private final String value; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .Celtic(this.extraParams, this.revolvingCreditCard); + } - ValidateLocation(String value) { - this.value = value; - } - } - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Billing { - /** - * ID of a PaymentMethod attached to the customer account to use as the default for invoices - * and subscriptions. - */ - @SerializedName("default_payment_method") - Object defaultPaymentMethod; + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * 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; + /** Can create consumer issuing revolving credit cards with Celtic as BIN sponsor. */ + public Builder setRevolvingCreditCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic + .RevolvingCreditCard + revolvingCreditCard) { + this.revolvingCreditCard = revolvingCreditCard; + return this; + } + } - /** Default invoice settings for the customer account. */ - @SerializedName("invoice") - Invoice invoice; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RevolvingCreditCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Billing( - Object defaultPaymentMethod, Map extraParams, Invoice invoice) { - this.defaultPaymentMethod = defaultPaymentMethod; - this.extraParams = extraParams; - this.invoice = invoice; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - public static Builder builder() { - return new Builder(); - } + private RevolvingCreditCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static class Builder { - private Object defaultPaymentMethod; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private Invoice invoice; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing build() { - return new AccountUpdateParams.Configuration.Customer.Billing( - this.defaultPaymentMethod, this.extraParams, this.invoice); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic + .RevolvingCreditCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .Celtic.RevolvingCreditCard(this.extraParams, this.requested); + } - /** - * ID of a PaymentMethod attached to the customer account to use as the default for - * invoices and subscriptions. - */ - public Builder setDefaultPaymentMethod(String defaultPaymentMethod) { - this.defaultPaymentMethod = defaultPaymentMethod; - 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic.RevolvingCreditCard#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; + } - /** - * ID of a PaymentMethod attached to the customer account to use as the default for - * invoices and subscriptions. - */ - public Builder setDefaultPaymentMethod(EmptyParam defaultPaymentMethod) { - this.defaultPaymentMethod = defaultPaymentMethod; - 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Celtic.RevolvingCreditCard#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 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 AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.put(key, value); - return this; } - /** - * 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 AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Default invoice settings for the customer account. */ - public Builder setInvoice( - AccountUpdateParams.Configuration.Customer.Billing.Invoice invoice) { - this.invoice = invoice; - return this; - } - } + /** Can create consumer issuing prepaid cards with Cross River Bank as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Invoice { - /** - * The list of up to 4 default custom fields to be displayed on invoices for this - * customer. - */ - @SerializedName("custom_fields") - List customFields; + private CrossRiverBank(Map extraParams, PrepaidCard prepaidCard) { + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** Default invoice footer. */ - @SerializedName("footer") - Object footer; + public static class Builder { + private Map extraParams; - /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ - @SerializedName("next_sequence") - Long nextSequence; + private PrepaidCard prepaidCard; - /** - * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or - * numbers. - */ - @SerializedName("prefix") - Object prefix; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank(this.extraParams, this.prepaidCard); + } - /** Default invoice PDF rendering options. */ - @SerializedName("rendering") - Rendering rendering; + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Invoice( - List - customFields, - Map extraParams, - Object footer, - Long nextSequence, - Object prefix, - Rendering rendering) { - this.customFields = customFields; - this.extraParams = extraParams; - this.footer = footer; - this.nextSequence = nextSequence; - this.prefix = prefix; - this.rendering = rendering; - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** Can create consumer issuing prepaid cards with Cross River Bank as BIN sponsor. */ + public Builder setPrepaidCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } - public static class Builder { - private List - customFields; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Object footer; + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Long nextSequence; + public static Builder builder() { + return new Builder(); + } - private Object prefix; + public static class Builder { + private Map extraParams; - private Rendering rendering; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing.Invoice build() { - return new AccountUpdateParams.Configuration.Customer.Billing.Invoice( - this.customFields, - this.extraParams, - this.footer, - this.nextSequence, - this.prefix, - this.rendering); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank.PrepaidCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .CrossRiverBank.PrepaidCard(this.extraParams, this.requested); + } - /** - * Add an element to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addCustomField( - AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField element) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); - } - this.customFields.add(element); - return this; - } - - /** - * Add all elements to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addAllCustomField( - List - elements) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); - } - this.customFields.addAll(elements); - return this; - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** Default invoice footer. */ - public Builder setFooter(String footer) { - this.footer = footer; - return this; - } - - /** Default invoice footer. */ - public Builder setFooter(EmptyParam footer) { - this.footer = footer; - return this; - } - - /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ - public Builder setNextSequence(Long nextSequence) { - this.nextSequence = nextSequence; - return this; - } - - /** - * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or - * numbers. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or - * numbers. - */ - public Builder setPrefix(EmptyParam prefix) { - this.prefix = prefix; - return this; - } - - /** Default invoice PDF rendering options. */ - public Builder setRendering( - AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { - this.rendering = rendering; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CustomField { + public static class Lead { /** * 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} @@ -2444,24 +2484,13 @@ public static class CustomField { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - @SerializedName("name") - Object name; - - /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined values. - */ - @SerializedName("value") - Object value; + /** Can create consumer issuing prepaid cards with Lead as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private CustomField(Map extraParams, Object name, Object value) { + private Lead(Map extraParams, PrepaidCard prepaidCard) { this.extraParams = extraParams; - this.name = name; - this.value = value; + this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -2471,22 +2500,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object name; - - private Object value; + private PrepaidCard prepaidCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead build() { - return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField( - this.extraParams, this.name, this.value); + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead( + this.extraParams, this.prepaidCard); } /** * 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 - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -2501,7 +2528,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -2512,344 +2539,299 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - public Builder setName(String name) { - this.name = name; + /** Can create consumer issuing prepaid cards with Lead as BIN sponsor. */ + public Builder setPrepaidCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { /** - * Required. The name of the custom field. This may be up to 40 - * characters. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder setName(EmptyParam name) { - this.name = name; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined - * values. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setValue(String value) { - this.value = value; - return this; + @SerializedName("requested") + Boolean requested; + + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined - * values. - */ - public Builder setValue(EmptyParam value) { - this.value = value; - return this; + public static Builder builder() { + return new Builder(); } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Rendering { - /** - * Indicates whether displayed line item prices and amounts on invoice PDFs include - * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code - * exclude_tax}. - */ - @SerializedName("amount_tax_display") - AmountTaxDisplay amountTaxDisplay; + public static class Builder { + private Map extraParams; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + private Boolean requested; - /** ID of the invoice rendering template to use for future invoices. */ - @SerializedName("template") - Object template; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead + .PrepaidCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer + .Lead.PrepaidCard(this.extraParams, this.requested); + } - private Rendering( - AmountTaxDisplay amountTaxDisplay, - Map extraParams, - Object template) { - this.amountTaxDisplay = amountTaxDisplay; - this.extraParams = extraParams; - this.template = template; - } + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * 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 + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Consumer.Lead.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } + } + } + } + } - public static class Builder { - private AmountTaxDisplay amountTaxDisplay; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Customer { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - private Map extraParams; + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the + * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; - private Object template; + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + @SerializedName("billing") + Billing billing; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering build() { - return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering( - this.amountTaxDisplay, this.extraParams, this.template); - } + /** Capabilities that have been requested on the Customer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - /** - * Indicates whether displayed line item prices and amounts on invoice PDFs include - * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code - * exclude_tax}. - */ - public Builder setAmountTaxDisplay( - AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering - .AmountTaxDisplay - amountTaxDisplay) { - this.amountTaxDisplay = amountTaxDisplay; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + @SerializedName("shipping") + Shipping shipping; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + @SerializedName("test_clock") + Object testClock; - /** ID of the invoice rendering template to use for future invoices. */ - public Builder setTemplate(String template) { - this.template = template; - return this; - } + private Customer( + Boolean applied, + AutomaticIndirectTax automaticIndirectTax, + Billing billing, + Capabilities capabilities, + Map extraParams, + Shipping shipping, + Object testClock) { + this.applied = applied; + this.automaticIndirectTax = automaticIndirectTax; + this.billing = billing; + this.capabilities = capabilities; + this.extraParams = extraParams; + this.shipping = shipping; + this.testClock = testClock; + } - /** ID of the invoice rendering template to use for future invoices. */ - public Builder setTemplate(EmptyParam template) { - this.template = template; - return this; - } - } + public static Builder builder() { + return new Builder(); + } - public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { - @SerializedName("exclude_tax") - EXCLUDE_TAX("exclude_tax"), + public static class Builder { + private Boolean applied; - @SerializedName("include_inclusive_tax") - INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + private AutomaticIndirectTax automaticIndirectTax; - @Getter(onMethod_ = {@Override}) - private final String value; + private Billing billing; - AmountTaxDisplay(String value) { - this.value = value; - } - } - } + private Capabilities capabilities; + + private Map extraParams; + + private Shipping shipping; + + private Object testClock; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer build() { + return new AccountUpdateParams.Configuration.Customer( + this.applied, + this.automaticIndirectTax, + this.billing, + this.capabilities, + this.extraParams, + this.shipping, + this.testClock); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { /** - * Generates requirements for enabling automatic indirect tax calculation on this customer's - * invoices or subscriptions. Recommended to request this capability if planning to enable - * automatic tax calculation on this customer's invoices or subscriptions. + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on + * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private Capabilities( - AutomaticIndirectTax automaticIndirectTax, Map extraParams) { + public Builder setAutomaticIndirectTax( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { this.automaticIndirectTax = automaticIndirectTax; - this.extraParams = extraParams; + return this; } - public static Builder builder() { - return new Builder(); + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + public Builder setBilling(AccountUpdateParams.Configuration.Customer.Billing billing) { + this.billing = billing; + return this; } - public static class Builder { - private AutomaticIndirectTax automaticIndirectTax; - - private Map extraParams; + /** Capabilities that have been requested on the Customer Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Customer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Capabilities build() { - return new AccountUpdateParams.Configuration.Customer.Capabilities( - this.automaticIndirectTax, 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 AccountUpdateParams.Configuration.Customer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Generates requirements for enabling automatic indirect tax calculation on this - * customer's invoices or subscriptions. Recommended to request this capability if - * planning to enable automatic tax calculation on this customer's invoices or - * subscriptions. - */ - public Builder setAutomaticIndirectTax( - AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - 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 AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + /** + * 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 AccountUpdateParams.Configuration.Customer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AutomaticIndirectTax(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - build() { - return new AccountUpdateParams.Configuration.Customer.Capabilities - .AutomaticIndirectTax(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + public Builder setShipping(AccountUpdateParams.Configuration.Customer.Shipping shipping) { + this.shipping = shipping; + 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 - * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + public Builder setTestClock(String testClock) { + this.testClock = testClock; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + public Builder setTestClock(EmptyParam testClock) { + this.testClock = testClock; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Shipping { - /** Customer shipping address. */ - @SerializedName("address") - Address address; + public static class AutomaticIndirectTax { + /** + * The customer account's tax exemption status: {@code none}, {@code exempt}, or {@code + * reverse}. When {@code reverse}, invoice and receipt PDFs include "Reverse + * charge". + */ + @SerializedName("exempt") + Exempt exempt; /** * Map of extra parameters for custom features not available in this client library. The @@ -2861,20 +2843,37 @@ public static class Shipping { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Customer name. */ - @SerializedName("name") - Object name; + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + @SerializedName("ip_address") + Object ipAddress; - /** Customer phone (including extension). */ - @SerializedName("phone") - Object phone; + /** + * Data source used to identify the customer account's tax location. Defaults to {@code + * identity_address}. Used for automatic indirect tax calculation. + */ + @SerializedName("location_source") + LocationSource locationSource; - private Shipping( - Address address, Map extraParams, Object name, Object phone) { - this.address = address; + /** + * A per-request flag that indicates when Stripe should validate the customer tax location - + * defaults to {@code auto}. + */ + @SerializedName("validate_location") + ValidateLocation validateLocation; + + private AutomaticIndirectTax( + Exempt exempt, + Map extraParams, + Object ipAddress, + LocationSource locationSource, + ValidateLocation validateLocation) { + this.exempt = exempt; this.extraParams = extraParams; - this.name = name; - this.phone = phone; + this.ipAddress = ipAddress; + this.locationSource = locationSource; + this.validateLocation = validateLocation; } public static Builder builder() { @@ -2882,32 +2881,43 @@ public static Builder builder() { } public static class Builder { - private Address address; + private Exempt exempt; private Map extraParams; - private Object name; + private Object ipAddress; - private Object phone; + private LocationSource locationSource; + + private ValidateLocation validateLocation; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Shipping build() { - return new AccountUpdateParams.Configuration.Customer.Shipping( - this.address, this.extraParams, this.name, this.phone); + public AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax build() { + return new AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax( + this.exempt, + this.extraParams, + this.ipAddress, + this.locationSource, + this.validateLocation); } - /** Customer shipping address. */ - public Builder setAddress( - AccountUpdateParams.Configuration.Customer.Shipping.Address address) { - this.address = address; + /** + * The customer account's tax exemption status: {@code none}, {@code exempt}, or {@code + * reverse}. When {@code reverse}, invoice and receipt PDFs include "Reverse + * charge". + */ + public Builder setExempt( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { + this.exempt = exempt; 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 AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. + * map. See {@link + * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -2920,8 +2930,9 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. + * map. See {@link + * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -2931,44 +2942,214 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Customer name. */ - public Builder setName(String name) { - this.name = name; - return this; - } - - /** Customer name. */ - public Builder setName(EmptyParam name) { - this.name = name; + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + public Builder setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; return this; } - /** Customer phone (including extension). */ - public Builder setPhone(String phone) { - this.phone = phone; + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + public Builder setIpAddress(EmptyParam ipAddress) { + this.ipAddress = ipAddress; return this; } - /** Customer phone (including extension). */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; + /** + * Data source used to identify the customer account's tax location. Defaults to {@code + * identity_address}. Used for automatic indirect tax calculation. + */ + public Builder setLocationSource( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource + locationSource) { + this.locationSource = locationSource; + return this; + } + + /** + * A per-request flag that indicates when Stripe should validate the customer tax location + * - defaults to {@code auto}. + */ + public Builder setValidateLocation( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.ValidateLocation + validateLocation) { + this.validateLocation = validateLocation; + return this; + } + } + + public enum Exempt implements ApiRequestParams.EnumParam { + @SerializedName("exempt") + EXEMPT("exempt"), + + @SerializedName("none") + NONE("none"), + + @SerializedName("reverse") + REVERSE("reverse"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Exempt(String value) { + this.value = value; + } + } + + public enum LocationSource implements ApiRequestParams.EnumParam { + @SerializedName("identity_address") + IDENTITY_ADDRESS("identity_address"), + + @SerializedName("ip_address") + IP_ADDRESS("ip_address"), + + @SerializedName("payment_method") + PAYMENT_METHOD("payment_method"), + + @SerializedName("shipping_address") + SHIPPING_ADDRESS("shipping_address"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + LocationSource(String value) { + this.value = value; + } + } + + public enum ValidateLocation implements ApiRequestParams.EnumParam { + @SerializedName("auto") + AUTO("auto"), + + @SerializedName("deferred") + DEFERRED("deferred"), + + @SerializedName("immediately") + IMMEDIATELY("immediately"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ValidateLocation(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billing { + /** + * ID of a PaymentMethod attached to the customer account to use as the default for invoices + * and subscriptions. + */ + @SerializedName("default_payment_method") + Object defaultPaymentMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Default invoice settings for the customer account. */ + @SerializedName("invoice") + Invoice invoice; + + private Billing( + Object defaultPaymentMethod, Map extraParams, Invoice invoice) { + this.defaultPaymentMethod = defaultPaymentMethod; + this.extraParams = extraParams; + this.invoice = invoice; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object defaultPaymentMethod; + + private Map extraParams; + + private Invoice invoice; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing build() { + return new AccountUpdateParams.Configuration.Customer.Billing( + this.defaultPaymentMethod, this.extraParams, this.invoice); + } + + /** + * ID of a PaymentMethod attached to the customer account to use as the default for + * invoices and subscriptions. + */ + public Builder setDefaultPaymentMethod(String defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } + + /** + * ID of a PaymentMethod attached to the customer account to use as the default for + * invoices and subscriptions. + */ + public Builder setDefaultPaymentMethod(EmptyParam defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + 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 AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * 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 AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Default invoice settings for the customer account. */ + public Builder setInvoice( + AccountUpdateParams.Configuration.Customer.Billing.Invoice invoice) { + this.invoice = invoice; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - + public static class Invoice { /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * The list of up to 4 default custom fields to be displayed on invoices for this + * customer. */ - @SerializedName("country") - Object country; + @SerializedName("custom_fields") + List customFields; /** * Map of extra parameters for custom features not available in this client library. The @@ -2980,37 +3161,39 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; + /** Default invoice footer. */ + @SerializedName("footer") + Object footer; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; + /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ + @SerializedName("next_sequence") + Long nextSequence; - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; + /** + * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or + * numbers. + */ + @SerializedName("prefix") + Object prefix; - /** State, county, province, or region. */ - @SerializedName("state") - Object state; + /** Default invoice PDF rendering options. */ + @SerializedName("rendering") + Rendering rendering; - private Address( - Object city, - Object country, + private Invoice( + List + customFields, Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state) { - this.city = city; - this.country = country; + Object footer, + Long nextSequence, + Object prefix, + Rendering rendering) { + this.customFields = customFields; this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; + this.footer = footer; + this.nextSequence = nextSequence; + this.prefix = prefix; + this.rendering = rendering; } public static Builder builder() { @@ -3018,59 +3201,60 @@ public static Builder builder() { } public static class Builder { - private Object city; - - private Object country; + private List + customFields; private Map extraParams; - private Object line1; + private Object footer; - private Object line2; + private Long nextSequence; - private Object postalCode; + private Object prefix; - private Object state; + private Rendering rendering; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Shipping.Address build() { - return new AccountUpdateParams.Configuration.Customer.Shipping.Address( - this.city, - this.country, + public AccountUpdateParams.Configuration.Customer.Billing.Invoice build() { + return new AccountUpdateParams.Configuration.Customer.Billing.Invoice( + this.customFields, this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; + this.footer, + this.nextSequence, + this.prefix, + this.rendering); } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * Add an element to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. */ - public Builder setCountry(String country) { - this.country = country; + public Builder addCustomField( + AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField element) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.add(element); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * Add all elements to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. */ - public Builder setCountry(EmptyParam country) { - this.country = country; + public Builder addAllCustomField( + List + elements) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.addAll(elements); return this; } @@ -3078,8 +3262,8 @@ public Builder setCountry(EmptyParam country) { * 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 - * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3093,8 +3277,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3104,329 +3288,469 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; + /** Default invoice footer. */ + public Builder setFooter(String footer) { + this.footer = footer; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; + /** Default invoice footer. */ + public Builder setFooter(EmptyParam footer) { + this.footer = footer; return this; } - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; + /** Sequence number to use on the customer account's next invoice. Defaults to 1. */ + public Builder setNextSequence(Long nextSequence) { + this.nextSequence = nextSequence; return this; } - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; + /** + * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or + * numbers. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; return this; } - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; + /** + * Prefix used to generate unique invoice numbers. Must be 3-12 uppercase letters or + * numbers. + */ + public Builder setPrefix(EmptyParam prefix) { + this.prefix = prefix; return this; } - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; + /** Default invoice PDF rendering options. */ + public Builder setRendering( + AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { + this.rendering = rendering; return this; } } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Merchant { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; - - /** Settings for Bacs Direct Debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CustomField { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - @SerializedName("branding") - Branding branding; + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + @SerializedName("name") + Object name; - /** Capabilities to request on the Merchant Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined values. + */ + @SerializedName("value") + Object value; - /** Card payments settings. */ - @SerializedName("card_payments") - CardPayments cardPayments; + private CustomField(Map extraParams, Object name, Object value) { + this.extraParams = extraParams; + this.name = name; + this.value = value; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** Settings specific to Konbini payments on the account. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; + public static class Builder { + private Map extraParams; - /** - * The Merchant Category Code (MCC) for the merchant. MCCs classify businesses based on the - * goods or services they provide. - */ - @SerializedName("mcc") - Object mcc; + private Object name; - /** Settings for the default text that appears on statements for language variations. */ - @SerializedName("script_statement_descriptor") - ScriptStatementDescriptor scriptStatementDescriptor; + private Object value; - /** Settings for Smart Disputes automatic response feature. */ - @SerializedName("smart_disputes") - SmartDisputes smartDisputes; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField + build() { + return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField( + this.extraParams, this.name, this.value); + } - /** - * Settings for the default statement descriptor text. - */ - @SerializedName("statement_descriptor") - StatementDescriptor statementDescriptor; + /** + * 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 + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Publicly available contact information for sending support issues to. */ - @SerializedName("support") - Support support; + /** + * 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 + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Merchant( - Boolean applied, - BacsDebitPayments bacsDebitPayments, - Branding branding, - Capabilities capabilities, - CardPayments cardPayments, - Map extraParams, - KonbiniPayments konbiniPayments, - Object mcc, - ScriptStatementDescriptor scriptStatementDescriptor, - SmartDisputes smartDisputes, - StatementDescriptor statementDescriptor, - Support support) { - this.applied = applied; - this.bacsDebitPayments = bacsDebitPayments; - this.branding = branding; - this.capabilities = capabilities; - this.cardPayments = cardPayments; - this.extraParams = extraParams; - this.konbiniPayments = konbiniPayments; - this.mcc = mcc; - this.scriptStatementDescriptor = scriptStatementDescriptor; - this.smartDisputes = smartDisputes; - this.statementDescriptor = statementDescriptor; - this.support = support; - } + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + public Builder setName(String name) { + this.name = name; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + public Builder setName(EmptyParam name) { + this.name = name; + return this; + } - public static class Builder { - private Boolean applied; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined + * values. + */ + public Builder setValue(String value) { + this.value = value; + return this; + } - private BacsDebitPayments bacsDebitPayments; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined + * values. + */ + public Builder setValue(EmptyParam value) { + this.value = value; + return this; + } + } + } - private Branding branding; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Rendering { + /** + * Indicates whether displayed line item prices and amounts on invoice PDFs include + * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code + * exclude_tax}. + */ + @SerializedName("amount_tax_display") + AmountTaxDisplay amountTaxDisplay; - private Capabilities capabilities; + /** + * 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 CardPayments cardPayments; + /** ID of the invoice rendering template to use for future invoices. */ + @SerializedName("template") + Object template; - private Map extraParams; + private Rendering( + AmountTaxDisplay amountTaxDisplay, + Map extraParams, + Object template) { + this.amountTaxDisplay = amountTaxDisplay; + this.extraParams = extraParams; + this.template = template; + } - private KonbiniPayments konbiniPayments; + public static Builder builder() { + return new Builder(); + } - private Object mcc; + public static class Builder { + private AmountTaxDisplay amountTaxDisplay; - private ScriptStatementDescriptor scriptStatementDescriptor; + private Map extraParams; - private SmartDisputes smartDisputes; + private Object template; - private StatementDescriptor statementDescriptor; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering build() { + return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering( + this.amountTaxDisplay, this.extraParams, this.template); + } - private Support support; + /** + * Indicates whether displayed line item prices and amounts on invoice PDFs include + * inclusive tax amounts. Must be either {@code include_inclusive_tax} or {@code + * exclude_tax}. + */ + public Builder setAmountTaxDisplay( + AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering + .AmountTaxDisplay + amountTaxDisplay) { + this.amountTaxDisplay = amountTaxDisplay; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant build() { - return new AccountUpdateParams.Configuration.Merchant( - this.applied, - this.bacsDebitPayments, - this.branding, - this.capabilities, - this.cardPayments, - this.extraParams, - this.konbiniPayments, - this.mcc, - this.scriptStatementDescriptor, - this.smartDisputes, - this.statementDescriptor, - this.support); + /** + * 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 + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * 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 + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** ID of the invoice rendering template to use for future invoices. */ + public Builder setTemplate(String template) { + this.template = template; + return this; + } + + /** ID of the invoice rendering template to use for future invoices. */ + public Builder setTemplate(EmptyParam template) { + this.template = template; + return this; + } + } + + public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { + @SerializedName("exclude_tax") + EXCLUDE_TAX("exclude_tax"), + + @SerializedName("include_inclusive_tax") + INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountTaxDisplay(String value) { + this.value = value; + } + } + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. + * Generates requirements for enabling automatic indirect tax calculation on this customer's + * invoices or subscriptions. Recommended to request this capability if planning to enable + * automatic tax calculation on this customer's invoices or subscriptions. */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } - - /** Settings for Bacs Direct Debit payments. */ - public Builder setBacsDebitPayments( - AccountUpdateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. */ - public Builder setBranding(AccountUpdateParams.Configuration.Merchant.Branding branding) { - this.branding = branding; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Capabilities to request on the Merchant Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Merchant.Capabilities capabilities) { - this.capabilities = capabilities; - return this; + private Capabilities( + AutomaticIndirectTax automaticIndirectTax, Map extraParams) { + this.automaticIndirectTax = automaticIndirectTax; + this.extraParams = extraParams; } - /** Card payments settings. */ - public Builder setCardPayments( - AccountUpdateParams.Configuration.Merchant.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static class Builder { + private AutomaticIndirectTax automaticIndirectTax; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Capabilities build() { + return new AccountUpdateParams.Configuration.Customer.Capabilities( + this.automaticIndirectTax, this.extraParams); } - 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 AccountUpdateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Generates requirements for enabling automatic indirect tax calculation on this + * customer's invoices or subscriptions. Recommended to request this capability if + * planning to enable automatic tax calculation on this customer's invoices or + * subscriptions. + */ + public Builder setAutomaticIndirectTax( + AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; } - this.extraParams.putAll(map); - return this; - } - /** Settings specific to Konbini payments on the account. */ - public Builder setKonbiniPayments( - AccountUpdateParams.Configuration.Merchant.KonbiniPayments konbiniPayments) { - this.konbiniPayments = konbiniPayments; - 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 AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * The Merchant Category Code (MCC) for the merchant. MCCs classify businesses based on the - * goods or services they provide. - */ - public Builder setMcc(String mcc) { - this.mcc = mcc; - 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 AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } } - /** - * The Merchant Category Code (MCC) for the merchant. MCCs classify businesses based on the - * goods or services they provide. - */ - public Builder setMcc(EmptyParam mcc) { - this.mcc = mcc; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Settings for the default text that appears on statements for language variations. */ - public Builder setScriptStatementDescriptor( - AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor - scriptStatementDescriptor) { - this.scriptStatementDescriptor = scriptStatementDescriptor; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Settings for Smart Disputes automatic response feature. */ - public Builder setSmartDisputes( - AccountUpdateParams.Configuration.Merchant.SmartDisputes smartDisputes) { - this.smartDisputes = smartDisputes; - return this; - } + private AutomaticIndirectTax(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Settings for the default statement descriptor text. - */ - public Builder setStatementDescriptor( - AccountUpdateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { - this.statementDescriptor = statementDescriptor; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** Publicly available contact information for sending support issues to. */ - public Builder setSupport(AccountUpdateParams.Configuration.Merchant.Support support) { - this.support = support; - return this; + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + build() { + return new AccountUpdateParams.Configuration.Customer.Capabilities + .AutomaticIndirectTax(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** Display name for Bacs Direct Debit payments. */ - @SerializedName("display_name") - Object displayName; + public static class Shipping { + /** Customer shipping address. */ + @SerializedName("address") + Address address; /** * Map of extra parameters for custom features not available in this client library. The @@ -3438,9 +3762,20 @@ public static class BacsDebitPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private BacsDebitPayments(Object displayName, Map extraParams) { - this.displayName = displayName; + /** Customer name. */ + @SerializedName("name") + Object name; + + /** Customer phone (including extension). */ + @SerializedName("phone") + Object phone; + + private Shipping( + Address address, Map extraParams, Object name, Object phone) { + this.address = address; this.extraParams = extraParams; + this.name = name; + this.phone = phone; } public static Builder builder() { @@ -3448,34 +3783,32 @@ public static Builder builder() { } public static class Builder { - private Object displayName; + private Address address; private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.BacsDebitPayments build() { - return new AccountUpdateParams.Configuration.Merchant.BacsDebitPayments( - this.displayName, this.extraParams); - } + private Object name; - /** Display name for Bacs Direct Debit payments. */ - public Builder setDisplayName(String displayName) { - this.displayName = displayName; - return this; + private Object phone; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Shipping build() { + return new AccountUpdateParams.Configuration.Customer.Shipping( + this.address, this.extraParams, this.name, this.phone); } - /** Display name for Bacs Direct Debit payments. */ - public Builder setDisplayName(EmptyParam displayName) { - this.displayName = displayName; + /** Customer shipping address. */ + public Builder setAddress( + AccountUpdateParams.Configuration.Customer.Shipping.Address address) { + this.address = address; 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 - * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. + * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3488,9 +3821,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. + * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3499,1785 +3831,1537 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Branding { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * ID of a file upload: - * An icon for the merchant. Must be square and at least 128px x 128px. - */ - @SerializedName("icon") - Object icon; - - /** - * ID of a file upload: - * A logo for the merchant that will be used in Checkout instead of the icon and without the - * merchant's name next to it if provided. Must be at least 128px x 128px. - */ - @SerializedName("logo") - Object logo; - - /** A CSS hex color value representing the primary branding color for the merchant. */ - @SerializedName("primary_color") - Object primaryColor; - - /** A CSS hex color value representing the secondary branding color for the merchant. */ - @SerializedName("secondary_color") - Object secondaryColor; - - private Branding( - Map extraParams, - Object icon, - Object logo, - Object primaryColor, - Object secondaryColor) { - this.extraParams = extraParams; - this.icon = icon; - this.logo = logo; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Object icon; - - private Object logo; - - private Object primaryColor; - - private Object secondaryColor; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Branding build() { - return new AccountUpdateParams.Configuration.Merchant.Branding( - this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); + /** Customer name. */ + public Builder setName(String name) { + this.name = name; 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 AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + /** Customer name. */ + public Builder setName(EmptyParam name) { + this.name = name; return this; } - /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. - */ - public Builder setIcon(String icon) { - this.icon = icon; + /** Customer phone (including extension). */ + public Builder setPhone(String phone) { + this.phone = phone; return this; } - /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. - */ - public Builder setIcon(EmptyParam icon) { - this.icon = icon; + /** Customer phone (including extension). */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + * Two-letter country code (ISO + * 3166-1 alpha-2). */ - public Builder setLogo(String logo) { - this.logo = logo; - return this; - } + @SerializedName("country") + Object country; /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setLogo(EmptyParam logo) { - this.logo = logo; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(String primaryColor) { - this.primaryColor = primaryColor; - return this; - } + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(EmptyParam primaryColor) { - this.primaryColor = primaryColor; - return this; - } + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(String secondaryColor) { - this.secondaryColor = secondaryColor; - return this; - } + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(EmptyParam secondaryColor) { - this.secondaryColor = secondaryColor; - return this; + /** State, county, province, or region. */ + @SerializedName("state") + Object state; + + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Allow the merchant to process ACH debit payments. */ - @SerializedName("ach_debit_payments") - AchDebitPayments achDebitPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process ACSS debit payments. */ - @SerializedName("acss_debit_payments") - AcssDebitPayments acssDebitPayments; + public static class Builder { + private Object city; - /** Allow the merchant to process Affirm payments. */ - @SerializedName("affirm_payments") - AffirmPayments affirmPayments; + private Object country; - /** Allow the merchant to process Afterpay/Clearpay payments. */ - @SerializedName("afterpay_clearpay_payments") - AfterpayClearpayPayments afterpayClearpayPayments; + private Map extraParams; - /** Allow the merchant to process Alma payments. */ - @SerializedName("alma_payments") - AlmaPayments almaPayments; + private Object line1; - /** Allow the merchant to process Amazon Pay payments. */ - @SerializedName("amazon_pay_payments") - AmazonPayPayments amazonPayPayments; + private Object line2; - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - @SerializedName("au_becs_debit_payments") - AuBecsDebitPayments auBecsDebitPayments; + private Object postalCode; - /** Allow the merchant to process BACS Direct Debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + private Object state; - /** Allow the merchant to process Bancontact payments. */ - @SerializedName("bancontact_payments") - BancontactPayments bancontactPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Shipping.Address build() { + return new AccountUpdateParams.Configuration.Customer.Shipping.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } - /** Allow the merchant to process BLIK payments. */ - @SerializedName("blik_payments") - BlikPayments blikPayments; + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - /** Allow the merchant to process Boleto payments. */ - @SerializedName("boleto_payments") - BoletoPayments boletoPayments; - - /** Allow the merchant to collect card payments. */ - @SerializedName("card_payments") - CardPayments cardPayments; - - /** Allow the merchant to process Cartes Bancaires payments. */ - @SerializedName("cartes_bancaires_payments") - CartesBancairesPayments cartesBancairesPayments; - - /** Allow the merchant to process Cash App payments. */ - @SerializedName("cashapp_payments") - CashappPayments cashappPayments; - - /** Allow the merchant to process EPS payments. */ - @SerializedName("eps_payments") - EpsPayments epsPayments; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Allow the merchant to process FPX payments. */ - @SerializedName("fpx_payments") - FpxPayments fpxPayments; - - /** Allow the merchant to process UK bank transfer payments. */ - @SerializedName("gb_bank_transfer_payments") - GbBankTransferPayments gbBankTransferPayments; + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - /** Allow the merchant to process GrabPay payments. */ - @SerializedName("grabpay_payments") - GrabpayPayments grabpayPayments; + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - /** Allow the merchant to process iDEAL payments. */ - @SerializedName("ideal_payments") - IdealPayments idealPayments; + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - /** Allow the merchant to process JCB card payments. */ - @SerializedName("jcb_payments") - JcbPayments jcbPayments; + /** + * 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 + * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Japanese bank transfer payments. */ - @SerializedName("jp_bank_transfer_payments") - JpBankTransferPayments jpBankTransferPayments; + /** + * 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 + * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Kakao Pay payments. */ - @SerializedName("kakao_pay_payments") - KakaoPayPayments kakaoPayPayments; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - /** Allow the merchant to process Klarna payments. */ - @SerializedName("klarna_payments") - KlarnaPayments klarnaPayments; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - /** Allow the merchant to process Konbini convenience store payments. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - /** Allow the merchant to process Korean card payments. */ - @SerializedName("kr_card_payments") - KrCardPayments krCardPayments; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - /** Allow the merchant to process Link payments. */ - @SerializedName("link_payments") - LinkPayments linkPayments; + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - /** Allow the merchant to process MobilePay payments. */ - @SerializedName("mobilepay_payments") - MobilepayPayments mobilepayPayments; + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - /** Allow the merchant to process Multibanco payments. */ - @SerializedName("multibanco_payments") - MultibancoPayments multibancoPayments; + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - /** Allow the merchant to process Mexican bank transfer payments. */ - @SerializedName("mx_bank_transfer_payments") - MxBankTransferPayments mxBankTransferPayments; + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + } + } + } + } - /** Allow the merchant to process Naver Pay payments. */ - @SerializedName("naver_pay_payments") - NaverPayPayments naverPayPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Merchant { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - /** Allow the merchant to process OXXO payments. */ - @SerializedName("oxxo_payments") - OxxoPayments oxxoPayments; + /** Settings for Bacs Direct Debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - /** Allow the merchant to process Przelewy24 (P24) payments. */ - @SerializedName("p24_payments") - P24Payments p24Payments; + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + @SerializedName("branding") + Branding branding; - /** Allow the merchant to process Pay by Bank payments. */ - @SerializedName("pay_by_bank_payments") - PayByBankPayments payByBankPayments; + /** Capabilities to request on the Merchant Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - /** Allow the merchant to process PAYCO payments. */ - @SerializedName("payco_payments") - PaycoPayments paycoPayments; + /** Card payments settings. */ + @SerializedName("card_payments") + CardPayments cardPayments; - /** Allow the merchant to process PayNow payments. */ - @SerializedName("paynow_payments") - PaynowPayments paynowPayments; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process PromptPay payments. */ - @SerializedName("promptpay_payments") - PromptpayPayments promptpayPayments; + /** Settings specific to Konbini payments on the account. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; - /** Allow the merchant to process Revolut Pay payments. */ - @SerializedName("revolut_pay_payments") - RevolutPayPayments revolutPayPayments; + /** + * The Merchant Category Code (MCC) for the merchant. MCCs classify businesses based on the + * goods or services they provide. + */ + @SerializedName("mcc") + Object mcc; - /** Allow the merchant to process Samsung Pay payments. */ - @SerializedName("samsung_pay_payments") - SamsungPayPayments samsungPayPayments; + /** Settings for the default text that appears on statements for language variations. */ + @SerializedName("script_statement_descriptor") + ScriptStatementDescriptor scriptStatementDescriptor; - /** Allow the merchant to process SEPA bank transfer payments. */ - @SerializedName("sepa_bank_transfer_payments") - SepaBankTransferPayments sepaBankTransferPayments; + /** Settings for Smart Disputes automatic response feature. */ + @SerializedName("smart_disputes") + SmartDisputes smartDisputes; - /** Allow the merchant to process SEPA Direct Debit payments. */ - @SerializedName("sepa_debit_payments") - SepaDebitPayments sepaDebitPayments; + /** + * Settings for the default statement descriptor text. + */ + @SerializedName("statement_descriptor") + StatementDescriptor statementDescriptor; - /** Allow the merchant to process Swish payments. */ - @SerializedName("swish_payments") - SwishPayments swishPayments; + /** Publicly available contact information for sending support issues to. */ + @SerializedName("support") + Support support; - /** Allow the merchant to process TWINT payments. */ - @SerializedName("twint_payments") - TwintPayments twintPayments; + private Merchant( + Boolean applied, + BacsDebitPayments bacsDebitPayments, + Branding branding, + Capabilities capabilities, + CardPayments cardPayments, + Map extraParams, + KonbiniPayments konbiniPayments, + Object mcc, + ScriptStatementDescriptor scriptStatementDescriptor, + SmartDisputes smartDisputes, + StatementDescriptor statementDescriptor, + Support support) { + this.applied = applied; + this.bacsDebitPayments = bacsDebitPayments; + this.branding = branding; + this.capabilities = capabilities; + this.cardPayments = cardPayments; + this.extraParams = extraParams; + this.konbiniPayments = konbiniPayments; + this.mcc = mcc; + this.scriptStatementDescriptor = scriptStatementDescriptor; + this.smartDisputes = smartDisputes; + this.statementDescriptor = statementDescriptor; + this.support = support; + } - /** Allow the merchant to process US bank transfer payments. */ - @SerializedName("us_bank_transfer_payments") - UsBankTransferPayments usBankTransferPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Zip payments. */ - @SerializedName("zip_payments") - ZipPayments zipPayments; + public static class Builder { + private Boolean applied; - private Capabilities( - AchDebitPayments achDebitPayments, - AcssDebitPayments acssDebitPayments, - AffirmPayments affirmPayments, - AfterpayClearpayPayments afterpayClearpayPayments, - AlmaPayments almaPayments, - AmazonPayPayments amazonPayPayments, - AuBecsDebitPayments auBecsDebitPayments, - BacsDebitPayments bacsDebitPayments, - BancontactPayments bancontactPayments, - BlikPayments blikPayments, - BoletoPayments boletoPayments, - CardPayments cardPayments, - CartesBancairesPayments cartesBancairesPayments, - CashappPayments cashappPayments, - EpsPayments epsPayments, - Map extraParams, - FpxPayments fpxPayments, - GbBankTransferPayments gbBankTransferPayments, - GrabpayPayments grabpayPayments, - IdealPayments idealPayments, - JcbPayments jcbPayments, - JpBankTransferPayments jpBankTransferPayments, - KakaoPayPayments kakaoPayPayments, - KlarnaPayments klarnaPayments, - KonbiniPayments konbiniPayments, - KrCardPayments krCardPayments, - LinkPayments linkPayments, - MobilepayPayments mobilepayPayments, - MultibancoPayments multibancoPayments, - MxBankTransferPayments mxBankTransferPayments, - NaverPayPayments naverPayPayments, - OxxoPayments oxxoPayments, - P24Payments p24Payments, - PayByBankPayments payByBankPayments, - PaycoPayments paycoPayments, - PaynowPayments paynowPayments, - PromptpayPayments promptpayPayments, - RevolutPayPayments revolutPayPayments, - SamsungPayPayments samsungPayPayments, - SepaBankTransferPayments sepaBankTransferPayments, - SepaDebitPayments sepaDebitPayments, - SwishPayments swishPayments, - TwintPayments twintPayments, - UsBankTransferPayments usBankTransferPayments, - ZipPayments zipPayments) { - this.achDebitPayments = achDebitPayments; - this.acssDebitPayments = acssDebitPayments; - this.affirmPayments = affirmPayments; - this.afterpayClearpayPayments = afterpayClearpayPayments; - this.almaPayments = almaPayments; - this.amazonPayPayments = amazonPayPayments; - this.auBecsDebitPayments = auBecsDebitPayments; - this.bacsDebitPayments = bacsDebitPayments; - this.bancontactPayments = bancontactPayments; - this.blikPayments = blikPayments; - this.boletoPayments = boletoPayments; - this.cardPayments = cardPayments; - this.cartesBancairesPayments = cartesBancairesPayments; - this.cashappPayments = cashappPayments; - this.epsPayments = epsPayments; - this.extraParams = extraParams; - this.fpxPayments = fpxPayments; - this.gbBankTransferPayments = gbBankTransferPayments; - this.grabpayPayments = grabpayPayments; - this.idealPayments = idealPayments; - this.jcbPayments = jcbPayments; - this.jpBankTransferPayments = jpBankTransferPayments; - this.kakaoPayPayments = kakaoPayPayments; - this.klarnaPayments = klarnaPayments; - this.konbiniPayments = konbiniPayments; - this.krCardPayments = krCardPayments; - this.linkPayments = linkPayments; - this.mobilepayPayments = mobilepayPayments; - this.multibancoPayments = multibancoPayments; - this.mxBankTransferPayments = mxBankTransferPayments; - this.naverPayPayments = naverPayPayments; - this.oxxoPayments = oxxoPayments; - this.p24Payments = p24Payments; - this.payByBankPayments = payByBankPayments; - this.paycoPayments = paycoPayments; - this.paynowPayments = paynowPayments; - this.promptpayPayments = promptpayPayments; - this.revolutPayPayments = revolutPayPayments; - this.samsungPayPayments = samsungPayPayments; - this.sepaBankTransferPayments = sepaBankTransferPayments; - this.sepaDebitPayments = sepaDebitPayments; - this.swishPayments = swishPayments; - this.twintPayments = twintPayments; - this.usBankTransferPayments = usBankTransferPayments; - this.zipPayments = zipPayments; - } + private BacsDebitPayments bacsDebitPayments; - public static Builder builder() { - return new Builder(); - } + private Branding branding; - public static class Builder { - private AchDebitPayments achDebitPayments; + private Capabilities capabilities; - private AcssDebitPayments acssDebitPayments; + private CardPayments cardPayments; - private AffirmPayments affirmPayments; + private Map extraParams; - private AfterpayClearpayPayments afterpayClearpayPayments; + private KonbiniPayments konbiniPayments; - private AlmaPayments almaPayments; + private Object mcc; - private AmazonPayPayments amazonPayPayments; + private ScriptStatementDescriptor scriptStatementDescriptor; - private AuBecsDebitPayments auBecsDebitPayments; + private SmartDisputes smartDisputes; - private BacsDebitPayments bacsDebitPayments; + private StatementDescriptor statementDescriptor; - private BancontactPayments bancontactPayments; + private Support support; - private BlikPayments blikPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant build() { + return new AccountUpdateParams.Configuration.Merchant( + this.applied, + this.bacsDebitPayments, + this.branding, + this.capabilities, + this.cardPayments, + this.extraParams, + this.konbiniPayments, + this.mcc, + this.scriptStatementDescriptor, + this.smartDisputes, + this.statementDescriptor, + this.support); + } - private BoletoPayments boletoPayments; + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } - private CardPayments cardPayments; + /** Settings for Bacs Direct Debit payments. */ + public Builder setBacsDebitPayments( + AccountUpdateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - private CartesBancairesPayments cartesBancairesPayments; + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + public Builder setBranding(AccountUpdateParams.Configuration.Merchant.Branding branding) { + this.branding = branding; + return this; + } - private CashappPayments cashappPayments; + /** Capabilities to request on the Merchant Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Merchant.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - private EpsPayments epsPayments; + /** Card payments settings. */ + public Builder setCardPayments( + AccountUpdateParams.Configuration.Merchant.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private FpxPayments fpxPayments; + /** + * 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 AccountUpdateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private GbBankTransferPayments gbBankTransferPayments; + /** Settings specific to Konbini payments on the account. */ + public Builder setKonbiniPayments( + AccountUpdateParams.Configuration.Merchant.KonbiniPayments konbiniPayments) { + this.konbiniPayments = konbiniPayments; + return this; + } - private GrabpayPayments grabpayPayments; + /** + * The Merchant Category Code (MCC) for the merchant. MCCs classify businesses based on the + * goods or services they provide. + */ + public Builder setMcc(String mcc) { + this.mcc = mcc; + return this; + } - private IdealPayments idealPayments; + /** + * The Merchant Category Code (MCC) for the merchant. MCCs classify businesses based on the + * goods or services they provide. + */ + public Builder setMcc(EmptyParam mcc) { + this.mcc = mcc; + return this; + } - private JcbPayments jcbPayments; + /** Settings for the default text that appears on statements for language variations. */ + public Builder setScriptStatementDescriptor( + AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor + scriptStatementDescriptor) { + this.scriptStatementDescriptor = scriptStatementDescriptor; + return this; + } - private JpBankTransferPayments jpBankTransferPayments; + /** Settings for Smart Disputes automatic response feature. */ + public Builder setSmartDisputes( + AccountUpdateParams.Configuration.Merchant.SmartDisputes smartDisputes) { + this.smartDisputes = smartDisputes; + return this; + } - private KakaoPayPayments kakaoPayPayments; + /** + * Settings for the default statement descriptor text. + */ + public Builder setStatementDescriptor( + AccountUpdateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } - private KlarnaPayments klarnaPayments; + /** Publicly available contact information for sending support issues to. */ + public Builder setSupport(AccountUpdateParams.Configuration.Merchant.Support support) { + this.support = support; + return this; + } + } - private KonbiniPayments konbiniPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** Display name for Bacs Direct Debit payments. */ + @SerializedName("display_name") + Object displayName; - private KrCardPayments krCardPayments; + /** + * 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 LinkPayments linkPayments; + private BacsDebitPayments(Object displayName, Map extraParams) { + this.displayName = displayName; + this.extraParams = extraParams; + } - private MobilepayPayments mobilepayPayments; + public static Builder builder() { + return new Builder(); + } - private MultibancoPayments multibancoPayments; + public static class Builder { + private Object displayName; - private MxBankTransferPayments mxBankTransferPayments; + private Map extraParams; - private NaverPayPayments naverPayPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.BacsDebitPayments build() { + return new AccountUpdateParams.Configuration.Merchant.BacsDebitPayments( + this.displayName, this.extraParams); + } - private OxxoPayments oxxoPayments; + /** Display name for Bacs Direct Debit payments. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } - private P24Payments p24Payments; + /** Display name for Bacs Direct Debit payments. */ + public Builder setDisplayName(EmptyParam displayName) { + this.displayName = displayName; + return this; + } - private PayByBankPayments payByBankPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private PaycoPayments paycoPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } - private PaynowPayments paynowPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Branding { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private PromptpayPayments promptpayPayments; + /** + * ID of a file upload: + * An icon for the merchant. Must be square and at least 128px x 128px. + */ + @SerializedName("icon") + Object icon; - private RevolutPayPayments revolutPayPayments; + /** + * ID of a file upload: + * A logo for the merchant that will be used in Checkout instead of the icon and without the + * merchant's name next to it if provided. Must be at least 128px x 128px. + */ + @SerializedName("logo") + Object logo; - private SamsungPayPayments samsungPayPayments; + /** A CSS hex color value representing the primary branding color for the merchant. */ + @SerializedName("primary_color") + Object primaryColor; - private SepaBankTransferPayments sepaBankTransferPayments; + /** A CSS hex color value representing the secondary branding color for the merchant. */ + @SerializedName("secondary_color") + Object secondaryColor; - private SepaDebitPayments sepaDebitPayments; + private Branding( + Map extraParams, + Object icon, + Object logo, + Object primaryColor, + Object secondaryColor) { + this.extraParams = extraParams; + this.icon = icon; + this.logo = logo; + this.primaryColor = primaryColor; + this.secondaryColor = secondaryColor; + } - private SwishPayments swishPayments; + public static Builder builder() { + return new Builder(); + } - private TwintPayments twintPayments; + public static class Builder { + private Map extraParams; - private UsBankTransferPayments usBankTransferPayments; + private Object icon; - private ZipPayments zipPayments; + private Object logo; + + private Object primaryColor; + + private Object secondaryColor; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities( - this.achDebitPayments, - this.acssDebitPayments, - this.affirmPayments, - this.afterpayClearpayPayments, - this.almaPayments, - this.amazonPayPayments, - this.auBecsDebitPayments, - this.bacsDebitPayments, - this.bancontactPayments, - this.blikPayments, - this.boletoPayments, - this.cardPayments, - this.cartesBancairesPayments, - this.cashappPayments, - this.epsPayments, - this.extraParams, - this.fpxPayments, - this.gbBankTransferPayments, - this.grabpayPayments, - this.idealPayments, - this.jcbPayments, - this.jpBankTransferPayments, - this.kakaoPayPayments, - this.klarnaPayments, - this.konbiniPayments, - this.krCardPayments, - this.linkPayments, - this.mobilepayPayments, - this.multibancoPayments, - this.mxBankTransferPayments, - this.naverPayPayments, - this.oxxoPayments, - this.p24Payments, - this.payByBankPayments, - this.paycoPayments, - this.paynowPayments, - this.promptpayPayments, - this.revolutPayPayments, - this.samsungPayPayments, - this.sepaBankTransferPayments, - this.sepaDebitPayments, - this.swishPayments, - this.twintPayments, - this.usBankTransferPayments, - this.zipPayments); + public AccountUpdateParams.Configuration.Merchant.Branding build() { + return new AccountUpdateParams.Configuration.Merchant.Branding( + this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); } - /** Allow the merchant to process ACH debit payments. */ - public Builder setAchDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments - achDebitPayments) { - this.achDebitPayments = achDebitPayments; + /** + * 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 AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); return this; } - /** Allow the merchant to process ACSS debit payments. */ - public Builder setAcssDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - acssDebitPayments) { - this.acssDebitPayments = acssDebitPayments; + /** + * 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 AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } - /** Allow the merchant to process Affirm payments. */ - public Builder setAffirmPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments - affirmPayments) { - this.affirmPayments = affirmPayments; + /** + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. + */ + public Builder setIcon(String icon) { + this.icon = icon; return this; } - /** Allow the merchant to process Afterpay/Clearpay payments. */ - public Builder setAfterpayClearpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - afterpayClearpayPayments) { - this.afterpayClearpayPayments = afterpayClearpayPayments; + /** + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. + */ + public Builder setIcon(EmptyParam icon) { + this.icon = icon; return this; } - /** Allow the merchant to process Alma payments. */ - public Builder setAlmaPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { - this.almaPayments = almaPayments; + /** + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + */ + public Builder setLogo(String logo) { + this.logo = logo; return this; } - /** Allow the merchant to process Amazon Pay payments. */ - public Builder setAmazonPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - amazonPayPayments) { - this.amazonPayPayments = amazonPayPayments; + /** + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + */ + public Builder setLogo(EmptyParam logo) { + this.logo = logo; return this; } - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - public Builder setAuBecsDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - auBecsDebitPayments) { - this.auBecsDebitPayments = auBecsDebitPayments; + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(String primaryColor) { + this.primaryColor = primaryColor; return this; } - /** Allow the merchant to process BACS Direct Debit payments. */ - public Builder setBacsDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(EmptyParam primaryColor) { + this.primaryColor = primaryColor; return this; } - /** Allow the merchant to process Bancontact payments. */ - public Builder setBancontactPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments - bancontactPayments) { - this.bancontactPayments = bancontactPayments; + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(String secondaryColor) { + this.secondaryColor = secondaryColor; return this; } - /** Allow the merchant to process BLIK payments. */ - public Builder setBlikPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { - this.blikPayments = blikPayments; + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(EmptyParam secondaryColor) { + this.secondaryColor = secondaryColor; return this; } + } + } - /** Allow the merchant to process Boleto payments. */ - public Builder setBoletoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments - boletoPayments) { - this.boletoPayments = boletoPayments; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Allow the merchant to process ACH debit payments. */ + @SerializedName("ach_debit_payments") + AchDebitPayments achDebitPayments; - /** Allow the merchant to collect card payments. */ - public Builder setCardPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } + /** Allow the merchant to process ACSS debit payments. */ + @SerializedName("acss_debit_payments") + AcssDebitPayments acssDebitPayments; - /** Allow the merchant to process Cartes Bancaires payments. */ - public Builder setCartesBancairesPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - cartesBancairesPayments) { - this.cartesBancairesPayments = cartesBancairesPayments; - return this; - } + /** Allow the merchant to process Affirm payments. */ + @SerializedName("affirm_payments") + AffirmPayments affirmPayments; - /** Allow the merchant to process Cash App payments. */ - public Builder setCashappPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments - cashappPayments) { - this.cashappPayments = cashappPayments; - return this; - } + /** Allow the merchant to process Afterpay/Clearpay payments. */ + @SerializedName("afterpay_clearpay_payments") + AfterpayClearpayPayments afterpayClearpayPayments; - /** Allow the merchant to process EPS payments. */ - public Builder setEpsPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { - this.epsPayments = epsPayments; - return this; - } + /** Allow the merchant to process Alma payments. */ + @SerializedName("alma_payments") + AlmaPayments almaPayments; - /** - * 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 AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Amazon Pay payments. */ + @SerializedName("amazon_pay_payments") + AmazonPayPayments amazonPayPayments; - /** - * 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 AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + @SerializedName("au_becs_debit_payments") + AuBecsDebitPayments auBecsDebitPayments; - /** Allow the merchant to process FPX payments. */ - public Builder setFpxPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { - this.fpxPayments = fpxPayments; - return this; - } + /** Allow the merchant to process BACS Direct Debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - /** Allow the merchant to process UK bank transfer payments. */ - public Builder setGbBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - gbBankTransferPayments) { - this.gbBankTransferPayments = gbBankTransferPayments; - return this; - } + /** Allow the merchant to process Bancontact payments. */ + @SerializedName("bancontact_payments") + BancontactPayments bancontactPayments; - /** Allow the merchant to process GrabPay payments. */ - public Builder setGrabpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments - grabpayPayments) { - this.grabpayPayments = grabpayPayments; - return this; - } + /** Allow the merchant to process BLIK payments. */ + @SerializedName("blik_payments") + BlikPayments blikPayments; - /** Allow the merchant to process iDEAL payments. */ - public Builder setIdealPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { - this.idealPayments = idealPayments; - return this; - } + /** Allow the merchant to process Boleto payments. */ + @SerializedName("boleto_payments") + BoletoPayments boletoPayments; - /** Allow the merchant to process JCB card payments. */ - public Builder setJcbPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { - this.jcbPayments = jcbPayments; - return this; - } + /** Allow the merchant to collect card payments. */ + @SerializedName("card_payments") + CardPayments cardPayments; - /** Allow the merchant to process Japanese bank transfer payments. */ - public Builder setJpBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - jpBankTransferPayments) { - this.jpBankTransferPayments = jpBankTransferPayments; - return this; - } + /** Allow the merchant to process Cartes Bancaires payments. */ + @SerializedName("cartes_bancaires_payments") + CartesBancairesPayments cartesBancairesPayments; - /** Allow the merchant to process Kakao Pay payments. */ - public Builder setKakaoPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - kakaoPayPayments) { - this.kakaoPayPayments = kakaoPayPayments; - return this; - } + /** Allow the merchant to process Cash App payments. */ + @SerializedName("cashapp_payments") + CashappPayments cashappPayments; - /** Allow the merchant to process Klarna payments. */ - public Builder setKlarnaPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments - klarnaPayments) { - this.klarnaPayments = klarnaPayments; - return this; - } + /** Allow the merchant to process EPS payments. */ + @SerializedName("eps_payments") + EpsPayments epsPayments; - /** Allow the merchant to process Konbini convenience store payments. */ - public Builder setKonbiniPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments - konbiniPayments) { - this.konbiniPayments = konbiniPayments; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process Korean card payments. */ - public Builder setKrCardPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments - krCardPayments) { - this.krCardPayments = krCardPayments; - return this; - } + /** Allow the merchant to process FPX payments. */ + @SerializedName("fpx_payments") + FpxPayments fpxPayments; - /** Allow the merchant to process Link payments. */ - public Builder setLinkPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { - this.linkPayments = linkPayments; - return this; - } + /** Allow the merchant to process UK bank transfer payments. */ + @SerializedName("gb_bank_transfer_payments") + GbBankTransferPayments gbBankTransferPayments; - /** Allow the merchant to process MobilePay payments. */ - public Builder setMobilepayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments - mobilepayPayments) { - this.mobilepayPayments = mobilepayPayments; - return this; - } + /** Allow the merchant to process GrabPay payments. */ + @SerializedName("grabpay_payments") + GrabpayPayments grabpayPayments; - /** Allow the merchant to process Multibanco payments. */ - public Builder setMultibancoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments - multibancoPayments) { - this.multibancoPayments = multibancoPayments; - return this; - } + /** Allow the merchant to process iDEAL payments. */ + @SerializedName("ideal_payments") + IdealPayments idealPayments; - /** Allow the merchant to process Mexican bank transfer payments. */ - public Builder setMxBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - mxBankTransferPayments) { - this.mxBankTransferPayments = mxBankTransferPayments; - return this; - } + /** Allow the merchant to process JCB card payments. */ + @SerializedName("jcb_payments") + JcbPayments jcbPayments; - /** Allow the merchant to process Naver Pay payments. */ - public Builder setNaverPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments - naverPayPayments) { - this.naverPayPayments = naverPayPayments; - return this; - } + /** Allow the merchant to process Japanese bank transfer payments. */ + @SerializedName("jp_bank_transfer_payments") + JpBankTransferPayments jpBankTransferPayments; - /** Allow the merchant to process OXXO payments. */ - public Builder setOxxoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { - this.oxxoPayments = oxxoPayments; - return this; - } + /** Allow the merchant to process Kakao Pay payments. */ + @SerializedName("kakao_pay_payments") + KakaoPayPayments kakaoPayPayments; - /** Allow the merchant to process Przelewy24 (P24) payments. */ - public Builder setP24Payments( - AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { - this.p24Payments = p24Payments; - return this; - } + /** Allow the merchant to process Klarna payments. */ + @SerializedName("klarna_payments") + KlarnaPayments klarnaPayments; - /** Allow the merchant to process Pay by Bank payments. */ - public Builder setPayByBankPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments - payByBankPayments) { - this.payByBankPayments = payByBankPayments; - return this; - } + /** Allow the merchant to process Konbini convenience store payments. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; - /** Allow the merchant to process PAYCO payments. */ - public Builder setPaycoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { - this.paycoPayments = paycoPayments; - return this; - } + /** Allow the merchant to process Korean card payments. */ + @SerializedName("kr_card_payments") + KrCardPayments krCardPayments; - /** Allow the merchant to process PayNow payments. */ - public Builder setPaynowPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments - paynowPayments) { - this.paynowPayments = paynowPayments; - return this; - } + /** Allow the merchant to process Link payments. */ + @SerializedName("link_payments") + LinkPayments linkPayments; - /** Allow the merchant to process PromptPay payments. */ - public Builder setPromptpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments - promptpayPayments) { - this.promptpayPayments = promptpayPayments; - return this; - } + /** Allow the merchant to process MobilePay payments. */ + @SerializedName("mobilepay_payments") + MobilepayPayments mobilepayPayments; - /** Allow the merchant to process Revolut Pay payments. */ - public Builder setRevolutPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - revolutPayPayments) { - this.revolutPayPayments = revolutPayPayments; - return this; - } + /** Allow the merchant to process Multibanco payments. */ + @SerializedName("multibanco_payments") + MultibancoPayments multibancoPayments; - /** Allow the merchant to process Samsung Pay payments. */ - public Builder setSamsungPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - samsungPayPayments) { - this.samsungPayPayments = samsungPayPayments; - return this; - } + /** Allow the merchant to process Mexican bank transfer payments. */ + @SerializedName("mx_bank_transfer_payments") + MxBankTransferPayments mxBankTransferPayments; - /** Allow the merchant to process SEPA bank transfer payments. */ - public Builder setSepaBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - sepaBankTransferPayments) { - this.sepaBankTransferPayments = sepaBankTransferPayments; - return this; - } + /** Allow the merchant to process Naver Pay payments. */ + @SerializedName("naver_pay_payments") + NaverPayPayments naverPayPayments; - /** Allow the merchant to process SEPA Direct Debit payments. */ - public Builder setSepaDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - sepaDebitPayments) { - this.sepaDebitPayments = sepaDebitPayments; - return this; - } + /** Allow the merchant to process OXXO payments. */ + @SerializedName("oxxo_payments") + OxxoPayments oxxoPayments; - /** Allow the merchant to process Swish payments. */ - public Builder setSwishPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { - this.swishPayments = swishPayments; - return this; - } + /** Allow the merchant to process Przelewy24 (P24) payments. */ + @SerializedName("p24_payments") + P24Payments p24Payments; - /** Allow the merchant to process TWINT payments. */ - public Builder setTwintPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { - this.twintPayments = twintPayments; - return this; - } + /** Allow the merchant to process Pay by Bank payments. */ + @SerializedName("pay_by_bank_payments") + PayByBankPayments payByBankPayments; - /** Allow the merchant to process US bank transfer payments. */ - public Builder setUsBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - usBankTransferPayments) { - this.usBankTransferPayments = usBankTransferPayments; - return this; - } + /** Allow the merchant to process PAYCO payments. */ + @SerializedName("payco_payments") + PaycoPayments paycoPayments; - /** Allow the merchant to process Zip payments. */ - public Builder setZipPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { - this.zipPayments = zipPayments; - return this; - } - } + /** Allow the merchant to process PayNow payments. */ + @SerializedName("paynow_payments") + PaynowPayments paynowPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AchDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Allow the merchant to process PromptPay payments. */ + @SerializedName("promptpay_payments") + PromptpayPayments promptpayPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Allow the merchant to process Revolut Pay payments. */ + @SerializedName("revolut_pay_payments") + RevolutPayPayments revolutPayPayments; - private AchDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Allow the merchant to process Samsung Pay payments. */ + @SerializedName("samsung_pay_payments") + SamsungPayPayments samsungPayPayments; - public static Builder builder() { - return new Builder(); - } + /** Allow the merchant to process SEPA bank transfer payments. */ + @SerializedName("sepa_bank_transfer_payments") + SepaBankTransferPayments sepaBankTransferPayments; - public static class Builder { - private Map extraParams; + /** Allow the merchant to process SEPA Direct Debit payments. */ + @SerializedName("sepa_debit_payments") + SepaDebitPayments sepaDebitPayments; - private Boolean requested; + /** Allow the merchant to process Swish payments. */ + @SerializedName("swish_payments") + SwishPayments swishPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments( - this.extraParams, this.requested); - } + /** Allow the merchant to process TWINT payments. */ + @SerializedName("twint_payments") + TwintPayments twintPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process US bank transfer payments. */ + @SerializedName("us_bank_transfer_payments") + UsBankTransferPayments usBankTransferPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Zip payments. */ + @SerializedName("zip_payments") + ZipPayments zipPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + private Capabilities( + AchDebitPayments achDebitPayments, + AcssDebitPayments acssDebitPayments, + AffirmPayments affirmPayments, + AfterpayClearpayPayments afterpayClearpayPayments, + AlmaPayments almaPayments, + AmazonPayPayments amazonPayPayments, + AuBecsDebitPayments auBecsDebitPayments, + BacsDebitPayments bacsDebitPayments, + BancontactPayments bancontactPayments, + BlikPayments blikPayments, + BoletoPayments boletoPayments, + CardPayments cardPayments, + CartesBancairesPayments cartesBancairesPayments, + CashappPayments cashappPayments, + EpsPayments epsPayments, + Map extraParams, + FpxPayments fpxPayments, + GbBankTransferPayments gbBankTransferPayments, + GrabpayPayments grabpayPayments, + IdealPayments idealPayments, + JcbPayments jcbPayments, + JpBankTransferPayments jpBankTransferPayments, + KakaoPayPayments kakaoPayPayments, + KlarnaPayments klarnaPayments, + KonbiniPayments konbiniPayments, + KrCardPayments krCardPayments, + LinkPayments linkPayments, + MobilepayPayments mobilepayPayments, + MultibancoPayments multibancoPayments, + MxBankTransferPayments mxBankTransferPayments, + NaverPayPayments naverPayPayments, + OxxoPayments oxxoPayments, + P24Payments p24Payments, + PayByBankPayments payByBankPayments, + PaycoPayments paycoPayments, + PaynowPayments paynowPayments, + PromptpayPayments promptpayPayments, + RevolutPayPayments revolutPayPayments, + SamsungPayPayments samsungPayPayments, + SepaBankTransferPayments sepaBankTransferPayments, + SepaDebitPayments sepaDebitPayments, + SwishPayments swishPayments, + TwintPayments twintPayments, + UsBankTransferPayments usBankTransferPayments, + ZipPayments zipPayments) { + this.achDebitPayments = achDebitPayments; + this.acssDebitPayments = acssDebitPayments; + this.affirmPayments = affirmPayments; + this.afterpayClearpayPayments = afterpayClearpayPayments; + this.almaPayments = almaPayments; + this.amazonPayPayments = amazonPayPayments; + this.auBecsDebitPayments = auBecsDebitPayments; + this.bacsDebitPayments = bacsDebitPayments; + this.bancontactPayments = bancontactPayments; + this.blikPayments = blikPayments; + this.boletoPayments = boletoPayments; + this.cardPayments = cardPayments; + this.cartesBancairesPayments = cartesBancairesPayments; + this.cashappPayments = cashappPayments; + this.epsPayments = epsPayments; + this.extraParams = extraParams; + this.fpxPayments = fpxPayments; + this.gbBankTransferPayments = gbBankTransferPayments; + this.grabpayPayments = grabpayPayments; + this.idealPayments = idealPayments; + this.jcbPayments = jcbPayments; + this.jpBankTransferPayments = jpBankTransferPayments; + this.kakaoPayPayments = kakaoPayPayments; + this.klarnaPayments = klarnaPayments; + this.konbiniPayments = konbiniPayments; + this.krCardPayments = krCardPayments; + this.linkPayments = linkPayments; + this.mobilepayPayments = mobilepayPayments; + this.multibancoPayments = multibancoPayments; + this.mxBankTransferPayments = mxBankTransferPayments; + this.naverPayPayments = naverPayPayments; + this.oxxoPayments = oxxoPayments; + this.p24Payments = p24Payments; + this.payByBankPayments = payByBankPayments; + this.paycoPayments = paycoPayments; + this.paynowPayments = paynowPayments; + this.promptpayPayments = promptpayPayments; + this.revolutPayPayments = revolutPayPayments; + this.samsungPayPayments = samsungPayPayments; + this.sepaBankTransferPayments = sepaBankTransferPayments; + this.sepaDebitPayments = sepaDebitPayments; + this.swishPayments = swishPayments; + this.twintPayments = twintPayments; + this.usBankTransferPayments = usBankTransferPayments; + this.zipPayments = zipPayments; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AcssDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static class Builder { + private AchDebitPayments achDebitPayments; - private AcssDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private AcssDebitPayments acssDebitPayments; - public static Builder builder() { - return new Builder(); - } + private AffirmPayments affirmPayments; - public static class Builder { - private Map extraParams; + private AfterpayClearpayPayments afterpayClearpayPayments; - private Boolean requested; + private AlmaPayments almaPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( - this.extraParams, this.requested); - } + private AmazonPayPayments amazonPayPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private AuBecsDebitPayments auBecsDebitPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private BacsDebitPayments bacsDebitPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private BancontactPayments bancontactPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AffirmPayments { - /** - * 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 BlikPayments blikPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private BoletoPayments boletoPayments; - private AffirmPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private CardPayments cardPayments; - public static Builder builder() { - return new Builder(); - } + private CartesBancairesPayments cartesBancairesPayments; - public static class Builder { - private Map extraParams; + private CashappPayments cashappPayments; - private Boolean requested; + private EpsPayments epsPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private FpxPayments fpxPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private GbBankTransferPayments gbBankTransferPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AfterpayClearpayPayments { - /** - * 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 GrabpayPayments grabpayPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private IdealPayments idealPayments; - private AfterpayClearpayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private JcbPayments jcbPayments; - public static Builder builder() { - return new Builder(); - } + private JpBankTransferPayments jpBankTransferPayments; - public static class Builder { - private Map extraParams; + private KakaoPayPayments kakaoPayPayments; - private Boolean requested; + private KlarnaPayments klarnaPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .AfterpayClearpayPayments(this.extraParams, this.requested); - } + private KonbiniPayments konbiniPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private KrCardPayments krCardPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private LinkPayments linkPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private MobilepayPayments mobilepayPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AlmaPayments { - /** - * 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 MultibancoPayments multibancoPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private MxBankTransferPayments mxBankTransferPayments; - private AlmaPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private NaverPayPayments naverPayPayments; - public static Builder builder() { - return new Builder(); - } + private OxxoPayments oxxoPayments; - public static class Builder { - private Map extraParams; + private P24Payments p24Payments; - private Boolean requested; + private PayByBankPayments payByBankPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments( - this.extraParams, this.requested); - } + private PaycoPayments paycoPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private PaynowPayments paynowPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private PromptpayPayments promptpayPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private RevolutPayPayments revolutPayPayments; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AmazonPayPayments { - /** - * 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 SamsungPayPayments samsungPayPayments; - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private SepaBankTransferPayments sepaBankTransferPayments; - private AmazonPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private SepaDebitPayments sepaDebitPayments; - public static Builder builder() { - return new Builder(); - } + private SwishPayments swishPayments; - public static class Builder { - private Map extraParams; + private TwintPayments twintPayments; - private Boolean requested; + private UsBankTransferPayments usBankTransferPayments; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( - this.extraParams, this.requested); - } + private ZipPayments zipPayments; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities( + this.achDebitPayments, + this.acssDebitPayments, + this.affirmPayments, + this.afterpayClearpayPayments, + this.almaPayments, + this.amazonPayPayments, + this.auBecsDebitPayments, + this.bacsDebitPayments, + this.bancontactPayments, + this.blikPayments, + this.boletoPayments, + this.cardPayments, + this.cartesBancairesPayments, + this.cashappPayments, + this.epsPayments, + this.extraParams, + this.fpxPayments, + this.gbBankTransferPayments, + this.grabpayPayments, + this.idealPayments, + this.jcbPayments, + this.jpBankTransferPayments, + this.kakaoPayPayments, + this.klarnaPayments, + this.konbiniPayments, + this.krCardPayments, + this.linkPayments, + this.mobilepayPayments, + this.multibancoPayments, + this.mxBankTransferPayments, + this.naverPayPayments, + this.oxxoPayments, + this.p24Payments, + this.payByBankPayments, + this.paycoPayments, + this.paynowPayments, + this.promptpayPayments, + this.revolutPayPayments, + this.samsungPayPayments, + this.sepaBankTransferPayments, + this.sepaDebitPayments, + this.swishPayments, + this.twintPayments, + this.usBankTransferPayments, + this.zipPayments); } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AuBecsDebitPayments { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - private AuBecsDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** Allow the merchant to process ACH debit payments. */ + public Builder setAchDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments + achDebitPayments) { + this.achDebitPayments = achDebitPayments; + return this; } - public static Builder builder() { - return new Builder(); + /** Allow the merchant to process ACSS debit payments. */ + public Builder setAcssDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + acssDebitPayments) { + this.acssDebitPayments = acssDebitPayments; + return this; } - public static class Builder { - private Map extraParams; - - private Boolean requested; + /** Allow the merchant to process Affirm payments. */ + public Builder setAffirmPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments + affirmPayments) { + this.affirmPayments = affirmPayments; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .AuBecsDebitPayments(this.extraParams, this.requested); - } + /** Allow the merchant to process Afterpay/Clearpay payments. */ + public Builder setAfterpayClearpayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + afterpayClearpayPayments) { + this.afterpayClearpayPayments = afterpayClearpayPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Alma payments. */ + public Builder setAlmaPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { + this.almaPayments = almaPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Amazon Pay payments. */ + public Builder setAmazonPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + amazonPayPayments) { + this.amazonPayPayments = amazonPayPayments; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + public Builder setAuBecsDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + auBecsDebitPayments) { + this.auBecsDebitPayments = auBecsDebitPayments; + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Allow the merchant to process BACS Direct Debit payments. */ + public Builder setBacsDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Allow the merchant to process Bancontact payments. */ + public Builder setBancontactPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments + bancontactPayments) { + this.bancontactPayments = bancontactPayments; + return this; + } - private BacsDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** Allow the merchant to process BLIK payments. */ + public Builder setBlikPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { + this.blikPayments = blikPayments; + return this; } - public static Builder builder() { - return new Builder(); + /** Allow the merchant to process Boleto payments. */ + public Builder setBoletoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments + boletoPayments) { + this.boletoPayments = boletoPayments; + return this; } - public static class Builder { - private Map extraParams; + /** Allow the merchant to collect card payments. */ + public Builder setCardPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Cartes Bancaires payments. */ + public Builder setCartesBancairesPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + cartesBancairesPayments) { + this.cartesBancairesPayments = cartesBancairesPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Cash App payments. */ + public Builder setCashappPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments + cashappPayments) { + this.cashappPayments = cashappPayments; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Allow the merchant to process EPS payments. */ + public Builder setEpsPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { + this.epsPayments = epsPayments; + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BancontactPayments { /** - * 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. + * 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 AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. + * 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 AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. */ - @SerializedName("requested") - Boolean requested; - - private BancontactPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - public static Builder builder() { - return new Builder(); + /** Allow the merchant to process FPX payments. */ + public Builder setFpxPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { + this.fpxPayments = fpxPayments; + return this; } - public static class Builder { - private Map extraParams; - - private Boolean requested; + /** Allow the merchant to process UK bank transfer payments. */ + public Builder setGbBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + gbBankTransferPayments) { + this.gbBankTransferPayments = gbBankTransferPayments; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments( - this.extraParams, this.requested); - } + /** Allow the merchant to process GrabPay payments. */ + public Builder setGrabpayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments + grabpayPayments) { + this.grabpayPayments = grabpayPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process iDEAL payments. */ + public Builder setIdealPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { + this.idealPayments = idealPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process JCB card payments. */ + public Builder setJcbPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { + this.jcbPayments = jcbPayments; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Allow the merchant to process Japanese bank transfer payments. */ + public Builder setJpBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + jpBankTransferPayments) { + this.jpBankTransferPayments = jpBankTransferPayments; + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BlikPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Allow the merchant to process Kakao Pay payments. */ + public Builder setKakaoPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + kakaoPayPayments) { + this.kakaoPayPayments = kakaoPayPayments; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Allow the merchant to process Klarna payments. */ + public Builder setKlarnaPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments + klarnaPayments) { + this.klarnaPayments = klarnaPayments; + return this; + } - private BlikPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** Allow the merchant to process Konbini convenience store payments. */ + public Builder setKonbiniPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments + konbiniPayments) { + this.konbiniPayments = konbiniPayments; + return this; } - public static Builder builder() { - return new Builder(); + /** Allow the merchant to process Korean card payments. */ + public Builder setKrCardPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments + krCardPayments) { + this.krCardPayments = krCardPayments; + return this; } - public static class Builder { - private Map extraParams; + /** Allow the merchant to process Link payments. */ + public Builder setLinkPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { + this.linkPayments = linkPayments; + return this; + } - private Boolean requested; + /** Allow the merchant to process MobilePay payments. */ + public Builder setMobilepayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments + mobilepayPayments) { + this.mobilepayPayments = mobilepayPayments; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments( - this.extraParams, this.requested); - } + /** Allow the merchant to process Multibanco payments. */ + public Builder setMultibancoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments + multibancoPayments) { + this.multibancoPayments = multibancoPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Allow the merchant to process Mexican bank transfer payments. */ + public Builder setMxBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + mxBankTransferPayments) { + this.mxBankTransferPayments = mxBankTransferPayments; + 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Allow the merchant to process Naver Pay payments. */ + public Builder setNaverPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments + naverPayPayments) { + this.naverPayPayments = naverPayPayments; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Allow the merchant to process OXXO payments. */ + public Builder setOxxoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { + this.oxxoPayments = oxxoPayments; + return this; + } + + /** Allow the merchant to process Przelewy24 (P24) payments. */ + public Builder setP24Payments( + AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { + this.p24Payments = p24Payments; + return this; + } + + /** Allow the merchant to process Pay by Bank payments. */ + public Builder setPayByBankPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments + payByBankPayments) { + this.payByBankPayments = payByBankPayments; + return this; + } + + /** Allow the merchant to process PAYCO payments. */ + public Builder setPaycoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { + this.paycoPayments = paycoPayments; + return this; + } + + /** Allow the merchant to process PayNow payments. */ + public Builder setPaynowPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments + paynowPayments) { + this.paynowPayments = paynowPayments; + return this; + } + + /** Allow the merchant to process PromptPay payments. */ + public Builder setPromptpayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments + promptpayPayments) { + this.promptpayPayments = promptpayPayments; + return this; + } + + /** Allow the merchant to process Revolut Pay payments. */ + public Builder setRevolutPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + revolutPayPayments) { + this.revolutPayPayments = revolutPayPayments; + return this; + } + + /** Allow the merchant to process Samsung Pay payments. */ + public Builder setSamsungPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + samsungPayPayments) { + this.samsungPayPayments = samsungPayPayments; + return this; + } + + /** Allow the merchant to process SEPA bank transfer payments. */ + public Builder setSepaBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + sepaBankTransferPayments) { + this.sepaBankTransferPayments = sepaBankTransferPayments; + return this; + } + + /** Allow the merchant to process SEPA Direct Debit payments. */ + public Builder setSepaDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + sepaDebitPayments) { + this.sepaDebitPayments = sepaDebitPayments; + return this; + } + + /** Allow the merchant to process Swish payments. */ + public Builder setSwishPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { + this.swishPayments = swishPayments; + return this; + } + + /** Allow the merchant to process TWINT payments. */ + public Builder setTwintPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { + this.twintPayments = twintPayments; + return this; + } + + /** Allow the merchant to process US bank transfer payments. */ + public Builder setUsBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + usBankTransferPayments) { + this.usBankTransferPayments = usBankTransferPayments; + return this; + } + + /** Allow the merchant to process Zip payments. */ + public Builder setZipPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { + this.zipPayments = zipPayments; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BoletoPayments { + public static class AchDebitPayments { /** * 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. @@ -5295,7 +5379,7 @@ public static class BoletoPayments { @SerializedName("requested") Boolean requested; - private BoletoPayments(Map extraParams, Boolean requested) { + private AchDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5310,8 +5394,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments( this.extraParams, this.requested); } @@ -5319,7 +5404,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments bu * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5334,7 +5419,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5358,7 +5443,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CardPayments { + public static class AcssDebitPayments { /** * 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. @@ -5376,7 +5461,7 @@ public static class CardPayments { @SerializedName("requested") Boolean requested; - private CardPayments(Map extraParams, Boolean requested) { + private AcssDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5391,8 +5476,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( this.extraParams, this.requested); } @@ -5400,8 +5486,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments buil * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5415,8 +5501,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5439,7 +5525,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CartesBancairesPayments { + public static class AffirmPayments { /** * 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. @@ -5457,7 +5543,7 @@ public static class CartesBancairesPayments { @SerializedName("requested") Boolean requested; - private CartesBancairesPayments(Map extraParams, Boolean requested) { + private AffirmPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5472,17 +5558,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .CartesBancairesPayments(this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5497,7 +5582,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5521,7 +5606,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CashappPayments { + public static class AfterpayClearpayPayments { /** * 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. @@ -5539,7 +5624,7 @@ public static class CashappPayments { @SerializedName("requested") Boolean requested; - private CashappPayments(Map extraParams, Boolean requested) { + private AfterpayClearpayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5554,16 +5639,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments( - this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .AfterpayClearpayPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5578,7 +5664,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5602,7 +5688,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class EpsPayments { + public static class AlmaPayments { /** * 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. @@ -5620,7 +5706,7 @@ public static class EpsPayments { @SerializedName("requested") Boolean requested; - private EpsPayments(Map extraParams, Boolean requested) { + private AlmaPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5635,8 +5721,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments( this.extraParams, this.requested); } @@ -5644,7 +5730,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5659,7 +5745,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5683,7 +5769,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FpxPayments { + public static class AmazonPayPayments { /** * 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. @@ -5701,7 +5787,7 @@ public static class FpxPayments { @SerializedName("requested") Boolean requested; - private FpxPayments(Map extraParams, Boolean requested) { + private AmazonPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5716,8 +5802,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( this.extraParams, this.requested); } @@ -5725,8 +5812,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5740,8 +5827,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5764,7 +5851,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GbBankTransferPayments { + public static class AuBecsDebitPayments { /** * 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. @@ -5782,7 +5869,7 @@ public static class GbBankTransferPayments { @SerializedName("requested") Boolean requested; - private GbBankTransferPayments(Map extraParams, Boolean requested) { + private AuBecsDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5797,17 +5884,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments build() { return new AccountUpdateParams.Configuration.Merchant.Capabilities - .GbBankTransferPayments(this.extraParams, this.requested); + .AuBecsDebitPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5822,7 +5909,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5846,7 +5933,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GrabpayPayments { + public static class BacsDebitPayments { /** * 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. @@ -5864,7 +5951,7 @@ public static class GrabpayPayments { @SerializedName("requested") Boolean requested; - private GrabpayPayments(Map extraParams, Boolean requested) { + private BacsDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5879,8 +5966,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( this.extraParams, this.requested); } @@ -5888,7 +5976,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments b * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5903,7 +5991,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5927,7 +6015,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class IdealPayments { + public static class BancontactPayments { /** * 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. @@ -5945,7 +6033,7 @@ public static class IdealPayments { @SerializedName("requested") Boolean requested; - private IdealPayments(Map extraParams, Boolean requested) { + private BancontactPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5960,8 +6048,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments( this.extraParams, this.requested); } @@ -5969,7 +6058,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5984,7 +6073,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6008,7 +6097,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JcbPayments { + public static class BlikPayments { /** * 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. @@ -6026,7 +6115,7 @@ public static class JcbPayments { @SerializedName("requested") Boolean requested; - private JcbPayments(Map extraParams, Boolean requested) { + private BlikPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6041,8 +6130,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments( this.extraParams, this.requested); } @@ -6050,7 +6139,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6065,7 +6154,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6089,7 +6178,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JpBankTransferPayments { + public static class BoletoPayments { /** * 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. @@ -6107,7 +6196,7 @@ public static class JpBankTransferPayments { @SerializedName("requested") Boolean requested; - private JpBankTransferPayments(Map extraParams, Boolean requested) { + private BoletoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6122,17 +6211,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .JpBankTransferPayments(this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6147,7 +6235,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6171,7 +6259,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KakaoPayPayments { + public static class CardPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6189,7 +6277,7 @@ public static class KakaoPayPayments { @SerializedName("requested") Boolean requested; - private KakaoPayPayments(Map extraParams, Boolean requested) { + private CardPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6204,9 +6292,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments( this.extraParams, this.requested); } @@ -6214,8 +6301,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6229,8 +6316,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6253,7 +6340,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KlarnaPayments { + public static class CartesBancairesPayments { /** * 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. @@ -6271,7 +6358,7 @@ public static class KlarnaPayments { @SerializedName("requested") Boolean requested; - private KlarnaPayments(Map extraParams, Boolean requested) { + private CartesBancairesPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6286,16 +6373,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments( - this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .CartesBancairesPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6310,7 +6398,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6334,7 +6422,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { + public static class CashappPayments { /** * 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. @@ -6352,7 +6440,7 @@ public static class KonbiniPayments { @SerializedName("requested") Boolean requested; - private KonbiniPayments(Map extraParams, Boolean requested) { + private CashappPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6367,8 +6455,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments( this.extraParams, this.requested); } @@ -6376,7 +6464,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments b * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6391,7 +6479,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6415,7 +6503,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KrCardPayments { + public static class EpsPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6433,7 +6521,7 @@ public static class KrCardPayments { @SerializedName("requested") Boolean requested; - private KrCardPayments(Map extraParams, Boolean requested) { + private EpsPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6448,8 +6536,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments( this.extraParams, this.requested); } @@ -6457,8 +6545,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments bu * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6472,8 +6560,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6496,7 +6584,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class LinkPayments { + public static class FpxPayments { /** * 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. @@ -6514,7 +6602,7 @@ public static class LinkPayments { @SerializedName("requested") Boolean requested; - private LinkPayments(Map extraParams, Boolean requested) { + private FpxPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6529,8 +6617,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments( this.extraParams, this.requested); } @@ -6538,7 +6626,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments buil * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6553,7 +6641,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6577,7 +6665,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MobilepayPayments { + public static class GbBankTransferPayments { /** * 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. @@ -6595,7 +6683,7 @@ public static class MobilepayPayments { @SerializedName("requested") Boolean requested; - private MobilepayPayments(Map extraParams, Boolean requested) { + private GbBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6610,17 +6698,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .GbBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6635,7 +6723,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6659,7 +6747,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MultibancoPayments { + public static class GrabpayPayments { /** * 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. @@ -6677,7 +6765,7 @@ public static class MultibancoPayments { @SerializedName("requested") Boolean requested; - private MultibancoPayments(Map extraParams, Boolean requested) { + private GrabpayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6692,9 +6780,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments( this.extraParams, this.requested); } @@ -6702,7 +6789,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6717,7 +6804,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6741,7 +6828,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MxBankTransferPayments { + public static class IdealPayments { /** * 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. @@ -6759,7 +6846,7 @@ public static class MxBankTransferPayments { @SerializedName("requested") Boolean requested; - private MxBankTransferPayments(Map extraParams, Boolean requested) { + private IdealPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6774,17 +6861,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .MxBankTransferPayments(this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6799,7 +6885,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6823,7 +6909,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class NaverPayPayments { + public static class JcbPayments { /** * 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. @@ -6841,7 +6927,7 @@ public static class NaverPayPayments { @SerializedName("requested") Boolean requested; - private NaverPayPayments(Map extraParams, Boolean requested) { + private JcbPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6856,9 +6942,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments( this.extraParams, this.requested); } @@ -6866,8 +6951,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6881,8 +6966,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6905,7 +6990,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class OxxoPayments { + public static class JpBankTransferPayments { /** * 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. @@ -6923,7 +7008,7 @@ public static class OxxoPayments { @SerializedName("requested") Boolean requested; - private OxxoPayments(Map extraParams, Boolean requested) { + private JpBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6938,17 +7023,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments( - this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .JpBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6962,8 +7048,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6986,7 +7072,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class P24Payments { + public static class KakaoPayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7004,7 +7090,7 @@ public static class P24Payments { @SerializedName("requested") Boolean requested; - private P24Payments(Map extraParams, Boolean requested) { + private KakaoPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7019,8 +7105,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( this.extraParams, this.requested); } @@ -7028,8 +7115,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7043,8 +7130,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7067,7 +7154,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PayByBankPayments { + public static class KlarnaPayments { /** * 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. @@ -7085,7 +7172,7 @@ public static class PayByBankPayments { @SerializedName("requested") Boolean requested; - private PayByBankPayments(Map extraParams, Boolean requested) { + private KlarnaPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7100,9 +7187,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments( this.extraParams, this.requested); } @@ -7110,7 +7196,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7125,7 +7211,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7149,7 +7235,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PaycoPayments { + public static class KonbiniPayments { /** * 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. @@ -7167,7 +7253,7 @@ public static class PaycoPayments { @SerializedName("requested") Boolean requested; - private PaycoPayments(Map extraParams, Boolean requested) { + private KonbiniPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7182,8 +7268,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments( this.extraParams, this.requested); } @@ -7191,7 +7277,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7206,7 +7292,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7230,7 +7316,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PaynowPayments { + public static class KrCardPayments { /** * 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. @@ -7248,7 +7334,7 @@ public static class PaynowPayments { @SerializedName("requested") Boolean requested; - private PaynowPayments(Map extraParams, Boolean requested) { + private KrCardPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7263,8 +7349,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments( this.extraParams, this.requested); } @@ -7272,7 +7358,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments bu * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7287,7 +7373,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7311,7 +7397,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PromptpayPayments { + public static class LinkPayments { /** * 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. @@ -7329,7 +7415,7 @@ public static class PromptpayPayments { @SerializedName("requested") Boolean requested; - private PromptpayPayments(Map extraParams, Boolean requested) { + private LinkPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7344,9 +7430,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments( this.extraParams, this.requested); } @@ -7354,8 +7439,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7369,8 +7454,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7393,7 +7478,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class RevolutPayPayments { + public static class MobilepayPayments { /** * 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. @@ -7411,7 +7496,7 @@ public static class RevolutPayPayments { @SerializedName("requested") Boolean requested; - private RevolutPayPayments(Map extraParams, Boolean requested) { + private MobilepayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7426,9 +7511,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( + return new AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments( this.extraParams, this.requested); } @@ -7436,7 +7521,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7451,7 +7536,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7475,7 +7560,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SamsungPayPayments { + public static class MultibancoPayments { /** * 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. @@ -7493,7 +7578,7 @@ public static class SamsungPayPayments { @SerializedName("requested") Boolean requested; - private SamsungPayPayments(Map extraParams, Boolean requested) { + private MultibancoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7508,9 +7593,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( + return new AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments( this.extraParams, this.requested); } @@ -7518,7 +7603,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7533,7 +7618,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7557,7 +7642,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SepaBankTransferPayments { + public static class MxBankTransferPayments { /** * 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. @@ -7575,7 +7660,7 @@ public static class SepaBankTransferPayments { @SerializedName("requested") Boolean requested; - private SepaBankTransferPayments(Map extraParams, Boolean requested) { + private MxBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7590,17 +7675,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments build() { return new AccountUpdateParams.Configuration.Merchant.Capabilities - .SepaBankTransferPayments(this.extraParams, this.requested); + .MxBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7615,7 +7700,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7639,7 +7724,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SepaDebitPayments { + public static class NaverPayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7657,7 +7742,7 @@ public static class SepaDebitPayments { @SerializedName("requested") Boolean requested; - private SepaDebitPayments(Map extraParams, Boolean requested) { + private NaverPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7672,9 +7757,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( + return new AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments( this.extraParams, this.requested); } @@ -7682,7 +7767,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7697,7 +7782,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7721,7 +7806,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SwishPayments { + public static class OxxoPayments { /** * 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. @@ -7739,7 +7824,7 @@ public static class SwishPayments { @SerializedName("requested") Boolean requested; - private SwishPayments(Map extraParams, Boolean requested) { + private OxxoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7754,8 +7839,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments( this.extraParams, this.requested); } @@ -7763,8 +7848,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7778,8 +7863,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7802,7 +7887,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class TwintPayments { + public static class P24Payments { /** * 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. @@ -7820,7 +7905,7 @@ public static class TwintPayments { @SerializedName("requested") Boolean requested; - private TwintPayments(Map extraParams, Boolean requested) { + private P24Payments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7835,8 +7920,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments( this.extraParams, this.requested); } @@ -7844,8 +7929,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7859,8 +7944,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7883,7 +7968,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class UsBankTransferPayments { + public static class PayByBankPayments { /** * 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. @@ -7901,7 +7986,7 @@ public static class UsBankTransferPayments { @SerializedName("requested") Boolean requested; - private UsBankTransferPayments(Map extraParams, Boolean requested) { + private PayByBankPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7916,17 +8001,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .UsBankTransferPayments(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7941,7 +8026,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7965,7 +8050,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ZipPayments { + public static class PaycoPayments { /** * 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. @@ -7983,7 +8068,7 @@ public static class ZipPayments { @SerializedName("requested") Boolean requested; - private ZipPayments(Map extraParams, Boolean requested) { + private PaycoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7998,8 +8083,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments( this.extraParams, this.requested); } @@ -8007,8 +8092,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments build * 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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -8022,8 +8107,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -8043,105 +8128,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - @SerializedName("decline_on") - DeclineOn declineOn; - - /** - * 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 CardPayments(DeclineOn declineOn, Map extraParams) { - this.declineOn = declineOn; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private DeclineOn declineOn; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.CardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.CardPayments( - this.declineOn, this.extraParams); - } - - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - public Builder setDeclineOn( - AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { - this.declineOn = declineOn; - 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 AccountUpdateParams.Configuration.Merchant.CardPayments#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 AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class DeclineOn { - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - @SerializedName("avs_failure") - Boolean avsFailure; - - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting only - * applies when a CVC is provided and it fails bank verification. - */ - @SerializedName("cvc_failure") - Boolean cvcFailure; - + public static class PaynowPayments { /** * 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. @@ -8152,11 +8142,16 @@ public static class DeclineOn { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private DeclineOn( - Boolean avsFailure, Boolean cvcFailure, Map extraParams) { - this.avsFailure = avsFailure; - this.cvcFailure = cvcFailure; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private PaynowPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; + this.requested = requested; } public static Builder builder() { @@ -8164,43 +8159,22 @@ public static Builder builder() { } public static class Builder { - private Boolean avsFailure; - - private Boolean cvcFailure; - private Map extraParams; + private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn build() { - return new AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn( - this.avsFailure, this.cvcFailure, this.extraParams); - } - - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - public Builder setAvsFailure(Boolean avsFailure) { - this.avsFailure = avsFailure; - return this; - } - - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting - * only applies when a CVC is provided and it fails bank verification. - */ - public Builder setCvcFailure(Boolean cvcFailure) { - this.cvcFailure = cvcFailure; - return this; + public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -8214,8 +8188,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -8224,90 +8198,103 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PromptpayPayments { + /** + * 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; - /** Support for Konbini payments. */ - @SerializedName("support") - Support support; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private KonbiniPayments(Map extraParams, Support support) { - this.extraParams = extraParams; - this.support = support; - } + private PromptpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Support support; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.KonbiniPayments build() { - return new AccountUpdateParams.Configuration.Merchant.KonbiniPayments( - this.extraParams, this.support); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments( + this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.KonbiniPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#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; } - 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 AccountUpdateParams.Configuration.Merchant.KonbiniPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.putAll(map); - return this; - } - /** Support for Konbini payments. */ - public Builder setSupport( - AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support support) { - this.support = support; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Support { - /** Support email address for Konbini payments. */ - @SerializedName("email") - Object email; - + public static class RevolutPayPayments { /** * 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. @@ -8318,20 +8305,16 @@ public static class Support { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Support hours for Konbini payments. */ - @SerializedName("hours") - Hours hours; - - /** Support phone number for Konbini payments. */ - @SerializedName("phone") - Object phone; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Support( - Object email, Map extraParams, Hours hours, Object phone) { - this.email = email; + private RevolutPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.hours = hours; - this.phone = phone; + this.requested = requested; } public static Builder builder() { @@ -8339,38 +8322,23 @@ public static Builder builder() { } public static class Builder { - private Object email; - private Map extraParams; - private Hours hours; - - private Object phone; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support build() { - return new AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support( - this.email, this.extraParams, this.hours, this.phone); - } - - /** Support email address for Konbini payments. */ - public Builder setEmail(String email) { - this.email = email; - return this; - } - - /** Support email address for Konbini payments. */ - public Builder setEmail(EmptyParam email) { - this.email = email; - return this; + public AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -8384,8 +8352,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -8395,253 +8363,20 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Support hours for Konbini payments. */ - public Builder setHours( - AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours hours) { - this.hours = hours; - return this; - } - - /** Support phone number for Konbini payments. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } - - /** Support phone number for Konbini payments. */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Hours { - /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ - @SerializedName("end_time") - Object endTime; - - /** - * 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; - - /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ - @SerializedName("start_time") - Object startTime; - - private Hours(Object endTime, Map extraParams, Object startTime) { - this.endTime = endTime; - this.extraParams = extraParams; - this.startTime = startTime; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object endTime; - - private Map extraParams; - - private Object startTime; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours - build() { - return new AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours( - this.endTime, this.extraParams, this.startTime); - } - - /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ - public Builder setEndTime(String endTime) { - this.endTime = endTime; - return this; - } - - /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ - public Builder setEndTime(EmptyParam endTime) { - this.endTime = endTime; - 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 - * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#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 - * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ - public Builder setStartTime(String startTime) { - this.startTime = startTime; - return this; - } - - /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ - public Builder setStartTime(EmptyParam startTime) { - this.startTime = startTime; - return this; - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptStatementDescriptor { - /** - * 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 Kana variation of statement_descriptor used for charges in Japan. Japanese statement - * descriptors have special - * requirements. - */ - @SerializedName("kana") - Kana kana; - - /** - * The Kanji variation of statement_descriptor used for charges in Japan. Japanese statement - * descriptors have special - * requirements. - */ - @SerializedName("kanji") - Kanji kanji; - - private ScriptStatementDescriptor(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Kana kana; - - private Kanji kanji; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor build() { - return new AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor( - this.extraParams, this.kana, this.kanji); - } - - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor#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 - * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor#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 Kana variation of statement_descriptor used for charges in Japan. Japanese - * statement descriptors have special - * requirements. - */ - public Builder setKana( - AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana kana) { - this.kana = kana; - return this; - } - - /** - * The Kanji variation of statement_descriptor used for charges in Japan. Japanese - * statement descriptors have special - * requirements. - */ - public Builder setKanji( - AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji kanji) { - this.kanji = kanji; - return this; - } - } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - @SerializedName("descriptor") - Object descriptor; - + public static class SamsungPayPayments { /** * 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. @@ -8653,20 +8388,15 @@ public static class Kana { Map extraParams; /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("prefix") - Object prefix; + @SerializedName("requested") + Boolean requested; - private Kana(Object descriptor, Map extraParams, Object prefix) { - this.descriptor = descriptor; + private SamsungPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.prefix = prefix; + this.requested = requested; } public static Builder builder() { @@ -8674,52 +8404,22 @@ public static Builder builder() { } public static class Builder { - private Object descriptor; - private Map extraParams; - private Object prefix; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana + public AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana( - this.descriptor, this.extraParams, this.prefix); - } - - /** - * The default text that appears on statements for non-card charges outside of Japan. - * For card charges, if you don’t set a statement_descriptor_prefix, this text is also - * used as the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, - * we truncate the statement_descriptor text to limit the full descriptor to 22 - * characters. For more information about statement descriptors and their requirements, - * see the Merchant Configuration settings documentation. - */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; - } - - /** - * The default text that appears on statements for non-card charges outside of Japan. - * For card charges, if you don’t set a statement_descriptor_prefix, this text is also - * used as the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, - * we truncate the statement_descriptor text to limit the full descriptor to 22 - * characters. For more information about statement descriptors and their requirements, - * see the Merchant Configuration settings documentation. - */ - public Builder setDescriptor(EmptyParam descriptor) { - this.descriptor = descriptor; - return this; + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8734,7 +8434,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8746,28 +8446,11 @@ public Builder putAllExtraParam(Map map) { } /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space - * for the dynamic part of the descriptor, keep this text short. If you don’t specify - * this value, statement_descriptor is used as the prefix. For more information about - * statement descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space - * for the dynamic part of the descriptor, keep this text short. If you don’t specify - * this value, statement_descriptor is used as the prefix. For more information about - * statement descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setPrefix(EmptyParam prefix) { - this.prefix = prefix; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } @@ -8775,19 +8458,7 @@ public Builder setPrefix(EmptyParam prefix) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - @SerializedName("descriptor") - Object descriptor; - + public static class SepaBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -8799,20 +8470,15 @@ public static class Kanji { Map extraParams; /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("prefix") - Object prefix; + @SerializedName("requested") + Boolean requested; - private Kanji(Object descriptor, Map extraParams, Object prefix) { - this.descriptor = descriptor; + private SepaBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.prefix = prefix; + this.requested = requested; } public static Builder builder() { @@ -8820,52 +8486,22 @@ public static Builder builder() { } public static class Builder { - private Object descriptor; - private Map extraParams; - private Object prefix; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji + public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments build() { - return new AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji( - this.descriptor, this.extraParams, this.prefix); - } - - /** - * The default text that appears on statements for non-card charges outside of Japan. - * For card charges, if you don’t set a statement_descriptor_prefix, this text is also - * used as the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, - * we truncate the statement_descriptor text to limit the full descriptor to 22 - * characters. For more information about statement descriptors and their requirements, - * see the Merchant Configuration settings documentation. - */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; - } - - /** - * The default text that appears on statements for non-card charges outside of Japan. - * For card charges, if you don’t set a statement_descriptor_prefix, this text is also - * used as the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, - * we truncate the statement_descriptor text to limit the full descriptor to 22 - * characters. For more information about statement descriptors and their requirements, - * see the Merchant Configuration settings documentation. - */ - public Builder setDescriptor(EmptyParam descriptor) { - this.descriptor = descriptor; - return this; + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .SepaBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8880,7 +8516,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8892,110 +8528,19 @@ public Builder putAllExtraParam(Map map) { } /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space - * for the dynamic part of the descriptor, keep this text short. If you don’t specify - * this value, statement_descriptor is used as the prefix. For more information about - * statement descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space - * for the dynamic part of the descriptor, keep this text short. If you don’t specify - * this value, statement_descriptor is used as the prefix. For more information about - * statement descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setPrefix(EmptyParam prefix) { - this.prefix = prefix; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SmartDisputes { - /** Settings for Smart Disputes auto_respond. */ - @SerializedName("auto_respond") - AutoRespond autoRespond; - - /** - * 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 SmartDisputes(AutoRespond autoRespond, Map extraParams) { - this.autoRespond = autoRespond; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private AutoRespond autoRespond; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.SmartDisputes build() { - return new AccountUpdateParams.Configuration.Merchant.SmartDisputes( - this.autoRespond, this.extraParams); - } - - /** Settings for Smart Disputes auto_respond. */ - public Builder setAutoRespond( - AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond autoRespond) { - this.autoRespond = autoRespond; - 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 AccountUpdateParams.Configuration.Merchant.SmartDisputes#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 AccountUpdateParams.Configuration.Merchant.SmartDisputes#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class AutoRespond { + public static class SepaDebitPayments { /** * 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. @@ -9006,13 +8551,16 @@ public static class AutoRespond { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The preference for automatic dispute responses. */ - @SerializedName("preference") - Preference preference; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private AutoRespond(Map extraParams, Preference preference) { + private SepaDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.preference = preference; + this.requested = requested; } public static Builder builder() { @@ -9022,20 +8570,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Preference preference; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond build() { - return new AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond( - this.extraParams, this.preference); + public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -9049,8 +8598,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -9060,330 +8609,182 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The preference for automatic dispute responses. */ - public Builder setPreference( - AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond.Preference - preference) { - this.preference = preference; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } - - public enum Preference implements ApiRequestParams.EnumParam { - @SerializedName("inherit") - INHERIT("inherit"), - - @SerializedName("off") - OFF("off"), - - @SerializedName("on") - ON("on"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Preference(String value) { - this.value = value; - } - } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StatementDescriptor { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement descriptor - * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the - * statement_descriptor text to limit the full descriptor to 22 characters. For more - * information about statement descriptors and their requirements, see the Merchant - * Configuration settings documentation. - */ - @SerializedName("descriptor") - Object descriptor; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SwishPayments { + /** + * 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; - /** - * 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; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Default text that appears on statements for card charges outside of Japan, prefixing any - * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the - * dynamic part of the descriptor, keep this text short. If you don’t specify this value, - * statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - @SerializedName("prefix") - Object prefix; + private SwishPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private StatementDescriptor( - Object descriptor, Map extraParams, Object prefix) { - this.descriptor = descriptor; - this.extraParams = extraParams; - this.prefix = prefix; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private Object descriptor; + private Boolean requested; - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments( + this.extraParams, this.requested); + } - private Object prefix; + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.StatementDescriptor build() { - return new AccountUpdateParams.Configuration.Merchant.StatementDescriptor( - this.descriptor, this.extraParams, this.prefix); - } + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TwintPayments { /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setDescriptor(EmptyParam descriptor) { - this.descriptor = descriptor; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @SerializedName("requested") + Boolean requested; - /** - * 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 - * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + private TwintPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; + public static Builder builder() { + return new Builder(); } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(EmptyParam prefix) { - this.prefix = prefix; - return this; - } - } - } + public static class Builder { + private Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Support { - /** A publicly available mailing address for sending support issues to. */ - @SerializedName("address") - Address address; + private Boolean requested; - /** A publicly available email address for sending support issues to. */ - @SerializedName("email") - Object email; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments( + this.extraParams, this.requested); + } - /** - * 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 publicly available phone number to call with support issues. */ - @SerializedName("phone") - Object phone; - - /** A publicly available website for handling support issues. */ - @SerializedName("url") - Object url; - - private Support( - Address address, - Object email, - Map extraParams, - Object phone, - Object url) { - this.address = address; - this.email = email; - this.extraParams = extraParams; - this.phone = phone; - this.url = url; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Address address; - - private Object email; - - private Map extraParams; - - private Object phone; - - private Object url; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Support build() { - return new AccountUpdateParams.Configuration.Merchant.Support( - this.address, this.email, this.extraParams, this.phone, this.url); - } - - /** A publicly available mailing address for sending support issues to. */ - public Builder setAddress( - AccountUpdateParams.Configuration.Merchant.Support.Address address) { - this.address = address; - return this; - } - - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(String email) { - this.email = email; - return this; - } - - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(EmptyParam email) { - this.email = email; - 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 AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - 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 AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.putAll(map); - return this; - } - - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } - - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; - return this; - } - - /** A publicly available website for handling support issues. */ - public Builder setUrl(String url) { - this.url = url; - return this; - } - /** A publicly available website for handling support issues. */ - public Builder setUrl(EmptyParam url) { - this.url = url; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - Object country; - + public static class UsBankTransferPayments { /** * 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. @@ -9394,43 +8795,16 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or district. */ - @SerializedName("town") - Object town; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Address( - Object city, - Object country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; + private UsBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.requested = requested; } public static Builder builder() { @@ -9438,71 +8812,104 @@ public static Builder builder() { } public static class Builder { - private Object city; - - private Object country; - private Map extraParams; - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Support.Address build() { - return new AccountUpdateParams.Configuration.Merchant.Support.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; + public AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .UsBankTransferPayments(this.extraParams, this.requested); } - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#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; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * 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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. */ - public Builder setCountry(String country) { - this.country = country; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setCountry(EmptyParam country) { - this.country = country; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ZipPayments { + /** + * 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; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private ZipPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments( + this.extraParams, this.requested); + } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -9516,8 +8923,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -9527,220 +8934,204 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } + } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardPayments { + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + @SerializedName("decline_on") + DeclineOn declineOn; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } + private CardPayments(DeclineOn declineOn, Map extraParams) { + this.declineOn = declineOn; + this.extraParams = extraParams; + } - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } + public static class Builder { + private DeclineOn declineOn; - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } + private Map extraParams; - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.CardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.CardPayments( + this.declineOn, this.extraParams); + } - /** Town or district. */ - public Builder setTown(String town) { - this.town = town; - return this; + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + public Builder setDeclineOn( + AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { + this.declineOn = declineOn; + 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 AccountUpdateParams.Configuration.Merchant.CardPayments#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; + } - /** Town or district. */ - public Builder setTown(EmptyParam town) { - this.town = town; - 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 AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Recipient { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DeclineOn { + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + @SerializedName("avs_failure") + Boolean avsFailure; - /** Capabilities to request on the Recipient Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting only + * applies when a CVC is provided and it fails bank verification. + */ + @SerializedName("cvc_failure") + Boolean cvcFailure; - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. For further details about creating an Outbound Destination, see Collect - * recipient's payment details. - */ - @SerializedName("default_outbound_destination") - Object defaultOutboundDestination; + /** + * 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; - /** - * 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 DeclineOn( + Boolean avsFailure, Boolean cvcFailure, Map extraParams) { + this.avsFailure = avsFailure; + this.cvcFailure = cvcFailure; + this.extraParams = extraParams; + } - private Recipient( - Boolean applied, - Capabilities capabilities, - Object defaultOutboundDestination, - Map extraParams) { - this.applied = applied; - this.capabilities = capabilities; - this.defaultOutboundDestination = defaultOutboundDestination; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean applied; - - private Capabilities capabilities; - - private Object defaultOutboundDestination; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Boolean avsFailure; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient build() { - return new AccountUpdateParams.Configuration.Recipient( - this.applied, this.capabilities, this.defaultOutboundDestination, this.extraParams); - } + private Boolean cvcFailure; - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } + private Map extraParams; - /** Capabilities to request on the Recipient Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn build() { + return new AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn( + this.avsFailure, this.cvcFailure, this.extraParams); + } - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. For further details about creating an Outbound Destination, see Collect - * recipient's payment details. - */ - public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { - this.defaultOutboundDestination = defaultOutboundDestination; - return this; - } + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + public Builder setAvsFailure(Boolean avsFailure) { + this.avsFailure = avsFailure; + return this; + } - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. For further details about creating an Outbound Destination, see Collect - * recipient's payment details. - */ - public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { - this.defaultOutboundDestination = defaultOutboundDestination; - return this; - } + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting + * only applies when a CVC is provided and it fails bank verification. + */ + public Builder setCvcFailure(Boolean cvcFailure) { + this.cvcFailure = cvcFailure; + 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 AccountUpdateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#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 AccountUpdateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } } - this.extraParams.putAll(map); - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - @SerializedName("cards") - Cards cards; - - /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - + public static class KonbiniPayments { /** * 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. @@ -9751,21 +9142,13 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; + /** Support for Konbini payments. */ + @SerializedName("support") + Support support; - private Capabilities( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, - Map extraParams, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + private KonbiniPayments(Map extraParams, Support support) { this.extraParams = extraParams; - this.stripeBalance = stripeBalance; + this.support = support; } public static Builder builder() { @@ -9773,54 +9156,20 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private CryptoWallets cryptoWallets; - private Map extraParams; - private StripeBalance stripeBalance; + private Support support; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities( - this.bankAccounts, - this.cards, - this.cryptoWallets, - this.extraParams, - this.stripeBalance); - } - - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - public Builder setCards( - AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; - return this; - } - - /** - * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. - */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; + public AccountUpdateParams.Configuration.Merchant.KonbiniPayments build() { + return new AccountUpdateParams.Configuration.Merchant.KonbiniPayments( + this.extraParams, this.support); } /** * 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 AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} + * map. See {@link AccountUpdateParams.Configuration.Merchant.KonbiniPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9834,7 +9183,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} + * map. See {@link AccountUpdateParams.Configuration.Merchant.KonbiniPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9845,20 +9194,21 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). - */ - public Builder setStripeBalance( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - stripeBalance) { - this.stripeBalance = stripeBalance; + /** Support for Konbini payments. */ + public Builder setSupport( + AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support support) { + this.support = support; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Support { + /** Support email address for Konbini payments. */ + @SerializedName("email") + Object email; + /** * 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. @@ -9869,37 +9219,20 @@ public static class BankAccounts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real time - * rails. - */ - @SerializedName("instant") - com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant; + /** Support hours for Konbini payments. */ + @SerializedName("hours") + Hours hours; - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - @SerializedName("local") - Local local; - - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - @SerializedName("wire") - Wire wire; + /** Support phone number for Konbini payments. */ + @SerializedName("phone") + Object phone; - private BankAccounts( - Map extraParams, - com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant, - Local local, - Wire wire) { + private Support( + Object email, Map extraParams, Hours hours, Object phone) { + this.email = email; this.extraParams = extraParams; - this.instant = instant; - this.local = local; - this.wire = wire; + this.hours = hours; + this.phone = phone; } public static Builder builder() { @@ -9907,28 +9240,38 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private Object email; - private com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient - .Capabilities.BankAccounts.Instant - instant; + private Map extraParams; - private Local local; + private Hours hours; - private Wire wire; + private Object phone; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts( - this.extraParams, this.instant, this.local, this.wire); + public AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support build() { + return new AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support( + this.email, this.extraParams, this.hours, this.phone); + } + + /** Support email address for Konbini payments. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } + + /** Support email address for Konbini payments. */ + public Builder setEmail(EmptyParam email) { + this.email = email; + 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -9942,8 +9285,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -9953,40 +9296,33 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real - * time rails. - */ - public Builder setInstant( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - instant) { - this.instant = instant; + /** Support hours for Konbini payments. */ + public Builder setHours( + AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours hours) { + this.hours = hours; return this; } - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - public Builder setLocal( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { - this.local = local; + /** Support phone number for Konbini payments. */ + public Builder setPhone(String phone) { + this.phone = phone; return this; } - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over wire. - */ - public Builder setWire( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { - this.wire = wire; + /** Support phone number for Konbini payments. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Instant { + public static class Hours { + /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ + @SerializedName("end_time") + Object endTime; + /** * 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} @@ -9997,16 +9333,14 @@ public static class Instant { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ + @SerializedName("start_time") + Object startTime; - private Instant(Map extraParams, Boolean requested) { + private Hours(Object endTime, Map extraParams, Object startTime) { + this.endTime = endTime; this.extraParams = extraParams; - this.requested = requested; + this.startTime = startTime; } public static Builder builder() { @@ -10014,22 +9348,36 @@ public static Builder builder() { } public static class Builder { + private Object endTime; + private Map extraParams; - private Boolean requested; + private Object startTime; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + public AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours( + this.endTime, this.extraParams, this.startTime); + } + + /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ + public Builder setEndTime(String endTime) { + this.endTime = endTime; + return this; + } + + /** Support hours end time (JST time of day) for in {@code HH:MM} format. */ + public Builder setEndTime(EmptyParam endTime) { + this.endTime = endTime; + 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} + * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -10044,7 +9392,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} + * AccountUpdateParams.Configuration.Merchant.KonbiniPayments.Support.Hours#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -10055,185 +9403,146 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ + public Builder setStartTime(String startTime) { + this.startTime = startTime; + return this; + } + + /** Support hours start time (JST time of day) for in {@code HH:MM} format. */ + public Builder setStartTime(EmptyParam startTime) { + this.startTime = startTime; return this; } } } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Local { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptStatementDescriptor { + /** + * 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 Local(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * The Kana variation of statement_descriptor used for charges in Japan. Japanese statement + * descriptors have special + * requirements. + */ + @SerializedName("kana") + Kana kana; - public static Builder builder() { - return new Builder(); - } + /** + * The Kanji variation of statement_descriptor used for charges in Japan. Japanese statement + * descriptors have special + * requirements. + */ + @SerializedName("kanji") + Kanji kanji; - public static class Builder { - private Map extraParams; + private ScriptStatementDescriptor(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - private Boolean requested; + public static Builder builder() { + return new Builder(); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local(this.extraParams, this.requested); - } + public static class Builder { + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Kana kana; - /** - * 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Kanji kanji; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor build() { + return new AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor( + this.extraParams, this.kana, this.kanji); } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Wire { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Wire(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#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 Kana variation of statement_descriptor used for charges in Japan. Japanese + * statement descriptors have special + * requirements. + */ + public Builder setKana( + AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana kana) { + this.kana = kana; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * The Kanji variation of statement_descriptor used for charges in Japan. Japanese + * statement descriptors have special + * requirements. + */ + public Builder setKanji( + AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji kanji) { + this.kanji = kanji; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Cards { + public static class Kana { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + @SerializedName("descriptor") + Object descriptor; + /** * 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. @@ -10245,15 +9554,20 @@ public static class Cards { Map extraParams; /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("prefix") + Object prefix; - private Cards(Map extraParams, Boolean requested) { + private Kana(Object descriptor, Map extraParams, Object prefix) { + this.descriptor = descriptor; this.extraParams = extraParams; - this.requested = requested; + this.prefix = prefix; } public static Builder builder() { @@ -10261,22 +9575,53 @@ public static Builder builder() { } public static class Builder { + private Object descriptor; + private Map extraParams; - private Boolean requested; + private Object prefix; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards( - this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana + build() { + return new AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana( + this.descriptor, this.extraParams, this.prefix); + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. + * For card charges, if you don’t set a statement_descriptor_prefix, this text is also + * used as the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, + * we truncate the statement_descriptor text to limit the full descriptor to 22 + * characters. For more information about statement descriptors and their requirements, + * see the Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. + * For card charges, if you don’t set a statement_descriptor_prefix, this text is also + * used as the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, + * we truncate the statement_descriptor text to limit the full descriptor to 22 + * characters. For more information about statement descriptors and their requirements, + * see the Merchant Configuration settings documentation. + */ + public Builder setDescriptor(EmptyParam descriptor) { + this.descriptor = descriptor; + 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -10290,8 +9635,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kana#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -10302,11 +9647,28 @@ public Builder putAllExtraParam(Map map) { } /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space + * for the dynamic part of the descriptor, keep this text short. If you don’t specify + * this value, statement_descriptor is used as the prefix. For more information about + * statement descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space + * for the dynamic part of the descriptor, keep this text short. If you don’t specify + * this value, statement_descriptor is used as the prefix. For more information about + * statement descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(EmptyParam prefix) { + this.prefix = prefix; return this; } } @@ -10314,7 +9676,19 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { + public static class Kanji { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + @SerializedName("descriptor") + Object descriptor; + /** * 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. @@ -10326,15 +9700,20 @@ public static class CryptoWallets { Map extraParams; /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + @SerializedName("prefix") + Object prefix; - private CryptoWallets(Map extraParams, Boolean requested) { + private Kanji(Object descriptor, Map extraParams, Object prefix) { + this.descriptor = descriptor; this.extraParams = extraParams; - this.requested = requested; + this.prefix = prefix; } public static Builder builder() { @@ -10342,21 +9721,52 @@ public static Builder builder() { } public static class Builder { + private Object descriptor; + private Map extraParams; - private Boolean requested; + private Object prefix; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets( - this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji + build() { + return new AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji( + this.descriptor, this.extraParams, this.prefix); + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. + * For card charges, if you don’t set a statement_descriptor_prefix, this text is also + * used as the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, + * we truncate the statement_descriptor text to limit the full descriptor to 22 + * characters. For more information about statement descriptors and their requirements, + * see the Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. + * For card charges, if you don’t set a statement_descriptor_prefix, this text is also + * used as the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, + * we truncate the statement_descriptor text to limit the full descriptor to 22 + * characters. For more information about statement descriptors and their requirements, + * see the Merchant Configuration settings documentation. + */ + public Builder setDescriptor(EmptyParam descriptor) { + this.descriptor = descriptor; + 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -10371,7 +9781,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Merchant.ScriptStatementDescriptor.Kanji#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -10383,19 +9793,110 @@ public Builder putAllExtraParam(Map map) { } /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space + * for the dynamic part of the descriptor, keep this text short. If you don’t specify + * this value, statement_descriptor is used as the prefix. For more information about + * statement descriptors and their requirements, see the Merchant Configuration settings + * documentation. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space + * for the dynamic part of the descriptor, keep this text short. If you don’t specify + * this value, statement_descriptor is used as the prefix. For more information about + * statement descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(EmptyParam prefix) { + this.prefix = prefix; return this; } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SmartDisputes { + /** Settings for Smart Disputes auto_respond. */ + @SerializedName("auto_respond") + AutoRespond autoRespond; + + /** + * 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 SmartDisputes(AutoRespond autoRespond, Map extraParams) { + this.autoRespond = autoRespond; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AutoRespond autoRespond; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.SmartDisputes build() { + return new AccountUpdateParams.Configuration.Merchant.SmartDisputes( + this.autoRespond, this.extraParams); + } + + /** Settings for Smart Disputes auto_respond. */ + public Builder setAutoRespond( + AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond autoRespond) { + this.autoRespond = autoRespond; + 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 AccountUpdateParams.Configuration.Merchant.SmartDisputes#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 AccountUpdateParams.Configuration.Merchant.SmartDisputes#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class StripeBalance { + public static class AutoRespond { /** * 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. @@ -10406,15 +9907,13 @@ public static class StripeBalance { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; + /** The preference for automatic dispute responses. */ + @SerializedName("preference") + Preference preference; - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { + private AutoRespond(Map extraParams, Preference preference) { this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; + this.preference = preference; } public static Builder builder() { @@ -10424,20 +9923,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private StripeTransfers stripeTransfers; + private Preference preference; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance( - this.extraParams, this.stripeTransfers); + public AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond build() { + return new AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond( + 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -10451,8 +9950,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -10462,499 +9961,768 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Enables this Account to receive /v1/transfers into their Stripe Balance - * (/v1/balance). - */ - public Builder setStripeTransfers( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; + /** The preference for automatic dispute responses. */ + public Builder setPreference( + AccountUpdateParams.Configuration.Merchant.SmartDisputes.AutoRespond.Preference + preference) { + this.preference = preference; return this; } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public enum Preference implements ApiRequestParams.EnumParam { + @SerializedName("inherit") + INHERIT("inherit"), - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("off") + OFF("off"), - private StripeTransfers(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("on") + ON("on"); - public static Builder builder() { - return new Builder(); + @Getter(onMethod_ = {@Override}) + private final String value; + + Preference(String value) { + this.value = value; } + } + } + } - public static class Builder { - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StatementDescriptor { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement descriptor + * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + * statement_descriptor text to limit the full descriptor to 22 characters. For more + * information about statement descriptors and their requirements, see the Merchant + * Configuration settings documentation. + */ + @SerializedName("descriptor") + Object descriptor; - private Boolean requested; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.requested); - } + /** + * Default text that appears on statements for card charges outside of Japan, prefixing any + * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + * dynamic part of the descriptor, keep this text short. If you don’t specify this value, + * statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + @SerializedName("prefix") + Object prefix; - /** - * 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private StatementDescriptor( + Object descriptor, Map extraParams, Object prefix) { + this.descriptor = descriptor; + this.extraParams = extraParams; + this.prefix = prefix; + } - /** - * 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 - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + public static class Builder { + private Object descriptor; + + private Map extraParams; + + private Object prefix; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.StatementDescriptor build() { + return new AccountUpdateParams.Configuration.Merchant.StatementDescriptor( + this.descriptor, this.extraParams, this.prefix); + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } + + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + public Builder setDescriptor(EmptyParam descriptor) { + this.descriptor = descriptor; + 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 + * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#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 + * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(EmptyParam prefix) { + this.prefix = prefix; + return this; } } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Support { + /** A publicly available mailing address for sending support issues to. */ + @SerializedName("address") + Address address; - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + /** A publicly available email address for sending support issues to. */ + @SerializedName("email") + Object email; - /** - * 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; + /** + * 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; - /** List of high-risk activities the business is involved in. */ - @SerializedName("high_risk_activities") - List highRiskActivities; + /** A publicly available phone number to call with support issues. */ + @SerializedName("phone") + Object phone; - /** Description of the high-risk activities the business offers. */ - @SerializedName("high_risk_activities_description") - Object highRiskActivitiesDescription; + /** A publicly available website for handling support issues. */ + @SerializedName("url") + Object url; - /** Description of the money services offered by the business. */ - @SerializedName("money_services_description") - Object moneyServicesDescription; + private Support( + Address address, + Object email, + Map extraParams, + Object phone, + Object url) { + this.address = address; + this.email = email; + this.extraParams = extraParams; + this.phone = phone; + this.url = url; + } - /** Does the business operate in any prohibited countries. */ - @SerializedName("operates_in_prohibited_countries") - Boolean operatesInProhibitedCountries; + public static Builder builder() { + return new Builder(); + } - /** Indicates whether the business participates in any regulated activity. */ - @SerializedName("participates_in_regulated_activity") - Boolean participatesInRegulatedActivity; + public static class Builder { + private Address address; - /** Primary purpose of the stored funds. */ - @SerializedName("purpose_of_funds") - PurposeOfFunds purposeOfFunds; + private Object email; - /** Description of the purpose of the stored funds. */ - @SerializedName("purpose_of_funds_description") - Object purposeOfFundsDescription; + private Map extraParams; - /** Details of the regulated activity if the business participates in one. */ - @SerializedName("regulated_activity") - RegulatedActivity regulatedActivity; + private Object phone; - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - @SerializedName("source_of_funds") - SourceOfFunds sourceOfFunds; - - /** Description of the source of funds for the business' account. */ - @SerializedName("source_of_funds_description") - Object sourceOfFundsDescription; + private Object url; - private Storer( - Boolean applied, - Capabilities capabilities, - Map extraParams, - List highRiskActivities, - Object highRiskActivitiesDescription, - Object moneyServicesDescription, - Boolean operatesInProhibitedCountries, - Boolean participatesInRegulatedActivity, - PurposeOfFunds purposeOfFunds, - Object purposeOfFundsDescription, - RegulatedActivity regulatedActivity, - SourceOfFunds sourceOfFunds, - Object sourceOfFundsDescription) { - this.applied = applied; - this.capabilities = capabilities; - this.extraParams = extraParams; - this.highRiskActivities = highRiskActivities; - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - this.moneyServicesDescription = moneyServicesDescription; - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - this.purposeOfFunds = purposeOfFunds; - this.purposeOfFundsDescription = purposeOfFundsDescription; - this.regulatedActivity = regulatedActivity; - this.sourceOfFunds = sourceOfFunds; - this.sourceOfFundsDescription = sourceOfFundsDescription; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Support build() { + return new AccountUpdateParams.Configuration.Merchant.Support( + this.address, this.email, this.extraParams, this.phone, this.url); + } - public static Builder builder() { - return new Builder(); - } + /** A publicly available mailing address for sending support issues to. */ + public Builder setAddress( + AccountUpdateParams.Configuration.Merchant.Support.Address address) { + this.address = address; + return this; + } - public static class Builder { - private Boolean applied; + /** A publicly available email address for sending support issues to. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } - private Capabilities capabilities; + /** A publicly available email address for sending support issues to. */ + public Builder setEmail(EmptyParam email) { + this.email = email; + return this; + } - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private List highRiskActivities; + /** + * 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 AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Object highRiskActivitiesDescription; + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - private Object moneyServicesDescription; + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } - private Boolean operatesInProhibitedCountries; + /** A publicly available website for handling support issues. */ + public Builder setUrl(String url) { + this.url = url; + return this; + } - private Boolean participatesInRegulatedActivity; + /** A publicly available website for handling support issues. */ + public Builder setUrl(EmptyParam url) { + this.url = url; + return this; + } + } - private PurposeOfFunds purposeOfFunds; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - private Object purposeOfFundsDescription; + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - private RegulatedActivity regulatedActivity; + /** + * 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 SourceOfFunds sourceOfFunds; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - private Object sourceOfFundsDescription; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer build() { - return new AccountUpdateParams.Configuration.Storer( - this.applied, - this.capabilities, - this.extraParams, - this.highRiskActivities, - this.highRiskActivitiesDescription, - this.moneyServicesDescription, - this.operatesInProhibitedCountries, - this.participatesInRegulatedActivity, - this.purposeOfFunds, - this.purposeOfFundsDescription, - this.regulatedActivity, - this.sourceOfFunds, - this.sourceOfFundsDescription); - } + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + /** Town or district. */ + @SerializedName("town") + Object town; - /** - * 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 AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; } - 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 AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - /** - * Add an element to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. - */ - public Builder addHighRiskActivity( - AccountUpdateParams.Configuration.Storer.HighRiskActivity element) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.add(element); - return this; - } + public static class Builder { + private Object city; - /** - * Add all elements to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. - */ - public Builder addAllHighRiskActivity( - List elements) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.addAll(elements); - return this; - } - - /** Description of the high-risk activities the business offers. */ - public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - return this; - } - - /** Description of the high-risk activities the business offers. */ - public Builder setHighRiskActivitiesDescription(EmptyParam highRiskActivitiesDescription) { - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - return this; - } + private Object country; - /** Description of the money services offered by the business. */ - public Builder setMoneyServicesDescription(String moneyServicesDescription) { - this.moneyServicesDescription = moneyServicesDescription; - return this; - } + private Map extraParams; - /** Description of the money services offered by the business. */ - public Builder setMoneyServicesDescription(EmptyParam moneyServicesDescription) { - this.moneyServicesDescription = moneyServicesDescription; - return this; - } + private Object line1; - /** Does the business operate in any prohibited countries. */ - public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - return this; - } + private Object line2; - /** Indicates whether the business participates in any regulated activity. */ - public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - return this; - } + private Object postalCode; - /** Primary purpose of the stored funds. */ - public Builder setPurposeOfFunds( - AccountUpdateParams.Configuration.Storer.PurposeOfFunds purposeOfFunds) { - this.purposeOfFunds = purposeOfFunds; - return this; - } + private Object state; - /** Description of the purpose of the stored funds. */ - public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { - this.purposeOfFundsDescription = purposeOfFundsDescription; - return this; - } + private Object town; - /** Description of the purpose of the stored funds. */ - public Builder setPurposeOfFundsDescription(EmptyParam purposeOfFundsDescription) { - this.purposeOfFundsDescription = purposeOfFundsDescription; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Support.Address build() { + return new AccountUpdateParams.Configuration.Merchant.Support.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - /** Details of the regulated activity if the business participates in one. */ - public Builder setRegulatedActivity( - AccountUpdateParams.Configuration.Storer.RegulatedActivity regulatedActivity) { - this.regulatedActivity = regulatedActivity; - return this; - } + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - public Builder setSourceOfFunds( - AccountUpdateParams.Configuration.Storer.SourceOfFunds sourceOfFunds) { - this.sourceOfFunds = sourceOfFunds; - return this; - } + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - /** Description of the source of funds for the business' account. */ - public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { - this.sourceOfFundsDescription = sourceOfFundsDescription; - return this; - } + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - /** Description of the source of funds for the business' account. */ - public Builder setSourceOfFundsDescription(EmptyParam sourceOfFundsDescription) { - this.sourceOfFundsDescription = sourceOfFundsDescription; - return this; - } - } + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Can provision a consumer financial account. */ - @SerializedName("consumer") - Consumer consumer; + /** + * 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 + * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @SerializedName("financial_addresses") - FinancialAddresses financialAddresses; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - private Capabilities( - Consumer consumer, - Map extraParams, - FinancialAddresses financialAddresses, - HoldsCurrencies holdsCurrencies, - InboundTransfers inboundTransfers, - OutboundPayments outboundPayments, - OutboundTransfers outboundTransfers) { - this.consumer = consumer; - this.extraParams = extraParams; - this.financialAddresses = financialAddresses; - this.holdsCurrencies = holdsCurrencies; - this.inboundTransfers = inboundTransfers; - this.outboundPayments = outboundPayments; - this.outboundTransfers = outboundTransfers; - } + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - public static class Builder { - private Consumer consumer; + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - private Map extraParams; + /** Town or district. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - private FinancialAddresses financialAddresses; + /** Town or district. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } + } + } - private HoldsCurrencies holdsCurrencies; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Recipient { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - private InboundTransfers inboundTransfers; + /** Capabilities to request on the Recipient Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - private OutboundPayments outboundPayments; + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + @SerializedName("default_outbound_destination") + Object defaultOutboundDestination; - private OutboundTransfers outboundTransfers; + /** + * 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 Recipient( + Boolean applied, + Capabilities capabilities, + Object defaultOutboundDestination, + Map extraParams) { + this.applied = applied; + this.capabilities = capabilities; + this.defaultOutboundDestination = defaultOutboundDestination; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Boolean applied; + + private Capabilities capabilities; + + private Object defaultOutboundDestination; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient build() { + return new AccountUpdateParams.Configuration.Recipient( + this.applied, this.capabilities, this.defaultOutboundDestination, this.extraParams); + } + + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } + + /** Capabilities to request on the Recipient Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } + + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + 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 AccountUpdateParams.Configuration.Recipient#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 AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * 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; + + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; + + private Capabilities( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.stripeBalance = stripeBalance; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private StripeBalance stripeBalance; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities( - this.consumer, + public AccountUpdateParams.Configuration.Recipient.Capabilities build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, + this.cards, + this.cryptoWallets, this.extraParams, - this.financialAddresses, - this.holdsCurrencies, - this.inboundTransfers, - this.outboundPayments, - this.outboundTransfers); + this.stripeBalance); } - /** Can provision a consumer financial account. */ - public Builder setConsumer( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer consumer) { - this.consumer = consumer; + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + public Builder setCards( + AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; + } + + /** + * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. + */ + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; 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 AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -10967,8 +10735,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -10978,50 +10746,20 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; + /** + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + */ + public Builder setStripeBalance( + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; return this; } - - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } - - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - public Builder setInboundTransfers( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - inboundTransfers) { - this.inboundTransfers = inboundTransfers; - return this; - } - - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - public Builder setOutboundPayments( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - outboundPayments) { - this.outboundPayments = outboundPayments; - return this; - } - - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - public Builder setOutboundTransfers( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - outboundTransfers) { - this.outboundTransfers = outboundTransfers; - return this; - } - } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class Consumer { + public static class BankAccounts { /** * 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. @@ -11032,13 +10770,37 @@ public static class Consumer { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real time + * rails. + */ + @SerializedName("instant") + com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant; - private Consumer(Map extraParams, HoldsCurrencies holdsCurrencies) { + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + @SerializedName("local") + Local local; + + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + private BankAccounts( + Map extraParams, + com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant, + Local local, + Wire wire) { this.extraParams = extraParams; - this.holdsCurrencies = holdsCurrencies; + this.instant = instant; + this.local = local; + this.wire = wire; } public static Builder builder() { @@ -11048,20 +10810,26 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private HoldsCurrencies holdsCurrencies; + private com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient + .Capabilities.BankAccounts.Instant + instant; + + private Local local; + + private Wire wire; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer( - this.extraParams, this.holdsCurrencies); + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts( + this.extraParams, this.instant, this.local, this.wire); } /** * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -11075,8 +10843,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -11086,18 +10854,40 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - public Builder setHoldsCurrencies( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real + * time rails. + */ + public Builder setInstant( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + instant) { + this.instant = instant; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + public Builder setLocal( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { + this.local = local; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over wire. + */ + public Builder setWire( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { + this.wire = wire; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { + public static class Instant { /** * 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} @@ -11108,13 +10898,16 @@ public static class HoldsCurrencies { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - @SerializedName("usd") - Usd usd; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private HoldsCurrencies(Map extraParams, Usd usd) { + private Instant(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.usd = usd; + this.requested = requested; } public static Builder builder() { @@ -11124,20 +10917,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Usd usd; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies(this.extraParams, this.usd); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -11152,7 +10945,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -11163,208 +10956,102 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - public Builder setUsd( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd - usd) { - this.usd = usd; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Local { + /** + * 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; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Local(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local(this.extraParams, this.requested); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Usd { /** - * 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. + * 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 + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} + * for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + 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 + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } /** * To request a new Capability for an account, pass true. There can be a delay before * the requested Capability becomes active. */ - @SerializedName("requested") - Boolean requested; - - private Usd(Map extraParams, Boolean requested) { - this.extraParams = extraParams; + public Builder setRequested(Boolean requested) { this.requested = requested; + return this; } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#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 - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay - * before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - - /** - * 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 FinancialAddresses( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private CryptoWallets cryptoWallets; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.cryptoWallets, this.extraParams); - } - - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Can provision a crypto wallet like financial address to credit a FinancialAccount. - */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#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 - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Wire { /** * 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} @@ -11382,7 +11069,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts(Map extraParams, Boolean requested) { + private Wire(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -11397,18 +11084,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -11423,7 +11109,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -11444,98 +11130,173 @@ public Builder setRequested(Boolean requested) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cards { + /** + * 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; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards( + this.extraParams, this.requested); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { /** - * 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. + * 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 + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + 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 + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } /** * To request a new Capability for an account, pass true. There can be a delay before * the requested Capability becomes active. */ - @SerializedName("requested") - Boolean requested; - - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; + public Builder setRequested(Boolean requested) { this.requested = requested; + return this; } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Boolean requested; + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets(this.extraParams, this.requested); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#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; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * 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 + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** Can hold storage-type funds on Stripe in EUR. */ - @SerializedName("eur") - Eur eur; - + public static class StripeBalance { /** * 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. @@ -11546,25 +11307,15 @@ public static class HoldsCurrencies { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can hold storage-type funds on Stripe in GBP. */ - @SerializedName("gbp") - Gbp gbp; - - /** Can hold storage-type funds on Stripe in USD. */ - @SerializedName("usd") - Usd usd; - - /** Can hold storage-type funds on Stripe in USDC. */ - @SerializedName("usdc") - Usdc usdc; + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). + */ + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - private HoldsCurrencies( - Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) { - this.eur = eur; + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { this.extraParams = extraParams; - this.gbp = gbp; - this.usd = usd; - this.usdc = usdc; + this.stripeTransfers = stripeTransfers; } public static Builder builder() { @@ -11572,34 +11323,21 @@ public static Builder builder() { } public static class Builder { - private Eur eur; - private Map extraParams; - private Gbp gbp; - - private Usd usd; - - private Usdc usdc; + private StripeTransfers stripeTransfers; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies( - this.eur, this.extraParams, this.gbp, this.usd, this.usdc); - } - - /** Can hold storage-type funds on Stripe in EUR. */ - public Builder setEur( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) { - this.eur = eur; - return this; + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance( + this.extraParams, this.stripeTransfers); } /** * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -11614,7 +11352,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -11625,31 +11363,22 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Can hold storage-type funds on Stripe in GBP. */ - public Builder setGbp( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { - this.gbp = gbp; - return this; - } - - /** Can hold storage-type funds on Stripe in USD. */ - public Builder setUsd( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd usd) { - this.usd = usd; - return this; - } - - /** Can hold storage-type funds on Stripe in USDC. */ - public Builder setUsdc( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc usdc) { - this.usdc = usdc; + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance + * (/v1/balance). + */ + public Builder setStripeTransfers( + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + stripeTransfers) { + this.stripeTransfers = stripeTransfers; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Eur { + public static class StripeTransfers { /** * 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} @@ -11667,7 +11396,7 @@ public static class Eur { @SerializedName("requested") Boolean requested; - private Eur(Map extraParams, Boolean requested) { + private StripeTransfers(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -11682,17 +11411,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -11707,7 +11437,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -11728,433 +11458,471 @@ public Builder setRequested(Boolean requested) { } } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Gbp { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Gbp(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Storer { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - public static Builder builder() { - return new Builder(); - } + /** Capabilities to request on the Storer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - public static class Builder { - private Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Boolean requested; + /** List of high-risk activities the business is involved in. */ + @SerializedName("high_risk_activities") + List highRiskActivities; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.requested); - } + /** Description of the high-risk activities the business offers. */ + @SerializedName("high_risk_activities_description") + Object highRiskActivitiesDescription; - /** - * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#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; - } + /** Description of the money services offered by the business. */ + @SerializedName("money_services_description") + Object moneyServicesDescription; - /** - * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Does the business operate in any prohibited countries. */ + @SerializedName("operates_in_prohibited_countries") + Boolean operatesInProhibitedCountries; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** Indicates whether the business participates in any regulated activity. */ + @SerializedName("participates_in_regulated_activity") + Boolean participatesInRegulatedActivity; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Usd { - /** - * 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; + /** Primary purpose of the stored funds. */ + @SerializedName("purpose_of_funds") + PurposeOfFunds purposeOfFunds; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Description of the purpose of the stored funds. */ + @SerializedName("purpose_of_funds_description") + Object purposeOfFundsDescription; - private Usd(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Details of the regulated activity if the business participates in one. */ + @SerializedName("regulated_activity") + RegulatedActivity regulatedActivity; - public static Builder builder() { - return new Builder(); - } + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + @SerializedName("source_of_funds") + SourceOfFunds sourceOfFunds; - public static class Builder { - private Map extraParams; + /** Description of the source of funds for the business' account. */ + @SerializedName("source_of_funds_description") + Object sourceOfFundsDescription; - private Boolean requested; + private Storer( + Boolean applied, + Capabilities capabilities, + Map extraParams, + List highRiskActivities, + Object highRiskActivitiesDescription, + Object moneyServicesDescription, + Boolean operatesInProhibitedCountries, + Boolean participatesInRegulatedActivity, + PurposeOfFunds purposeOfFunds, + Object purposeOfFundsDescription, + RegulatedActivity regulatedActivity, + SourceOfFunds sourceOfFunds, + Object sourceOfFundsDescription) { + this.applied = applied; + this.capabilities = capabilities; + this.extraParams = extraParams; + this.highRiskActivities = highRiskActivities; + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + this.moneyServicesDescription = moneyServicesDescription; + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + this.purposeOfFunds = purposeOfFunds; + this.purposeOfFundsDescription = purposeOfFundsDescription; + this.regulatedActivity = regulatedActivity; + this.sourceOfFunds = sourceOfFunds; + this.sourceOfFundsDescription = sourceOfFundsDescription; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd(this.extraParams, this.requested); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private Boolean applied; - /** - * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Capabilities capabilities; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Usdc { - /** - * 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 List highRiskActivities; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private Object highRiskActivitiesDescription; - private Usdc(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Object moneyServicesDescription; - public static Builder builder() { - return new Builder(); - } + private Boolean operatesInProhibitedCountries; - public static class Builder { - private Map extraParams; + private Boolean participatesInRegulatedActivity; - private Boolean requested; + private PurposeOfFunds purposeOfFunds; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc(this.extraParams, this.requested); - } + private Object purposeOfFundsDescription; - /** - * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private RegulatedActivity regulatedActivity; - /** - * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private SourceOfFunds sourceOfFunds; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + private Object sourceOfFundsDescription; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer build() { + return new AccountUpdateParams.Configuration.Storer( + this.applied, + this.capabilities, + this.extraParams, + this.highRiskActivities, + this.highRiskActivitiesDescription, + this.moneyServicesDescription, + this.operatesInProhibitedCountries, + this.participatesInRegulatedActivity, + this.purposeOfFunds, + this.purposeOfFundsDescription, + this.regulatedActivity, + this.sourceOfFunds, + this.sourceOfFundsDescription); } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class InboundTransfers { - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Capabilities to request on the Storer Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = 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 AccountUpdateParams.Configuration.Storer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * 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 AccountUpdateParams.Configuration.Storer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; + /** + * Add an element to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Configuration.Storer#highRiskActivities} for the field + * documentation. + */ + public Builder addHighRiskActivity( + AccountUpdateParams.Configuration.Storer.HighRiskActivity element) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); + } + this.highRiskActivities.add(element); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers( - this.bankAccounts, this.extraParams); - } + /** + * Add all elements to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Configuration.Storer#highRiskActivities} for the field + * documentation. + */ + public Builder addAllHighRiskActivity( + List elements) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); + } + this.highRiskActivities.addAll(elements); + return this; + } - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } + /** Description of the high-risk activities the business offers. */ + public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#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; - } + /** Description of the high-risk activities the business offers. */ + public Builder setHighRiskActivitiesDescription(EmptyParam highRiskActivitiesDescription) { + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + /** Description of the money services offered by the business. */ + public Builder setMoneyServicesDescription(String moneyServicesDescription) { + this.moneyServicesDescription = moneyServicesDescription; + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * 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; + /** Description of the money services offered by the business. */ + public Builder setMoneyServicesDescription(EmptyParam moneyServicesDescription) { + this.moneyServicesDescription = moneyServicesDescription; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Does the business operate in any prohibited countries. */ + public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + return this; + } - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** Indicates whether the business participates in any regulated activity. */ + public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** Primary purpose of the stored funds. */ + public Builder setPurposeOfFunds( + AccountUpdateParams.Configuration.Storer.PurposeOfFunds purposeOfFunds) { + this.purposeOfFunds = purposeOfFunds; + return this; + } - public static class Builder { - private Map extraParams; + /** Description of the purpose of the stored funds. */ + public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { + this.purposeOfFundsDescription = purposeOfFundsDescription; + return this; + } - private Boolean requested; + /** Description of the purpose of the stored funds. */ + public Builder setPurposeOfFundsDescription(EmptyParam purposeOfFundsDescription) { + this.purposeOfFundsDescription = purposeOfFundsDescription; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts(this.extraParams, this.requested); - } + /** Details of the regulated activity if the business participates in one. */ + public Builder setRegulatedActivity( + AccountUpdateParams.Configuration.Storer.RegulatedActivity regulatedActivity) { + this.regulatedActivity = regulatedActivity; + 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#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; - } + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + public Builder setSourceOfFunds( + AccountUpdateParams.Configuration.Storer.SourceOfFunds sourceOfFunds) { + this.sourceOfFunds = sourceOfFunds; + 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Description of the source of funds for the business' account. */ + public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { + this.sourceOfFundsDescription = sourceOfFundsDescription; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Description of the source of funds for the business' account. */ + public Builder setSourceOfFundsDescription(EmptyParam sourceOfFundsDescription) { + this.sourceOfFundsDescription = sourceOfFundsDescription; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Can provision a consumer financial account. */ + @SerializedName("consumer") + Consumer consumer; + + /** + * 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; + + /** Can provision a financial address to credit/debit a FinancialAccount. */ + @SerializedName("financial_addresses") + FinancialAddresses financialAddresses; + + /** Can hold storage-type funds on Stripe. */ + @SerializedName("holds_currencies") + HoldsCurrencies holdsCurrencies; + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; + + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + @SerializedName("outbound_payments") + OutboundPayments outboundPayments; + + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + @SerializedName("outbound_transfers") + OutboundTransfers outboundTransfers; + + private Capabilities( + Consumer consumer, + Map extraParams, + FinancialAddresses financialAddresses, + HoldsCurrencies holdsCurrencies, + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers) { + this.consumer = consumer; + this.extraParams = extraParams; + this.financialAddresses = financialAddresses; + this.holdsCurrencies = holdsCurrencies; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Consumer consumer; + + private Map extraParams; + + private FinancialAddresses financialAddresses; + + private HoldsCurrencies holdsCurrencies; + + private InboundTransfers inboundTransfers; + + private OutboundPayments outboundPayments; + + private OutboundTransfers outboundTransfers; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities( + this.consumer, + this.extraParams, + this.financialAddresses, + this.holdsCurrencies, + this.inboundTransfers, + this.outboundPayments, + this.outboundTransfers); + } + + /** Can provision a consumer financial account. */ + public Builder setConsumer( + AccountUpdateParams.Configuration.Storer.Capabilities.Consumer consumer) { + this.consumer = consumer; + 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 AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundPayments { - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + /** + * 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 AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - @SerializedName("cards") - Cards cards; + /** Can provision a financial address to credit/debit a FinancialAccount. */ + public Builder setFinancialAddresses( + AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + financialAddresses) { + this.financialAddresses = financialAddresses; + return this; + } - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** Can hold storage-type funds on Stripe. */ + public Builder setHoldsCurrencies( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + holdsCurrencies) { + this.holdsCurrencies = holdsCurrencies; + return this; + } + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + public Builder setInboundTransfers( + AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + inboundTransfers) { + this.inboundTransfers = inboundTransfers; + return this; + } + + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + public Builder setOutboundPayments( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + outboundPayments) { + this.outboundPayments = outboundPayments; + return this; + } + + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + public Builder setOutboundTransfers( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + outboundTransfers) { + this.outboundTransfers = outboundTransfers; + return this; + } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Consumer { /** * 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. @@ -12165,24 +11933,13 @@ public static class OutboundPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + /** Can hold storage-type funds on Stripe in a consumer financial account. */ + @SerializedName("holds_currencies") + HoldsCurrencies holdsCurrencies; - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + private Consumer(Map extraParams, HoldsCurrencies holdsCurrencies) { this.extraParams = extraParams; - this.financialAccounts = financialAccounts; + this.holdsCurrencies = holdsCurrencies; } public static Builder builder() { @@ -12190,56 +11947,22 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private CryptoWallets cryptoWallets; - private Map extraParams; - private FinancialAccounts financialAccounts; + private HoldsCurrencies holdsCurrencies; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments( - this.bankAccounts, - this.cards, - this.cryptoWallets, - this.extraParams, - this.financialAccounts); - } - - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - public Builder setCards( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - cards) { - this.cards = cards; - return this; - } - - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; + public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer( + this.extraParams, this.holdsCurrencies); } /** * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -12253,8 +11976,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -12264,22 +11987,18 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - public Builder setFinancialAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; + /** Can hold storage-type funds on Stripe in a consumer financial account. */ + public Builder setHoldsCurrencies( + AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies + holdsCurrencies) { + this.holdsCurrencies = holdsCurrencies; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class HoldsCurrencies { /** * 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} @@ -12290,16 +12009,13 @@ public static class BankAccounts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ + @SerializedName("usd") + Usd usd; - private BankAccounts(Map extraParams, Boolean requested) { + private HoldsCurrencies(Map extraParams, Usd usd) { this.extraParams = extraParams; - this.requested = requested; + this.usd = usd; } public static Builder builder() { @@ -12309,21 +12025,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private Usd usd; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts + public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer + .HoldsCurrencies(this.extraParams, this.usd); } /** * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -12338,7 +12053,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -12349,261 +12064,95 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ + public Builder setUsd( + AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd + usd) { + this.usd = usd; return this; } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { /** - * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} - * for the field documentation. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * To request a new Capability for an account, pass true. There can be a delay before * the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Usd(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static class Builder { + private Map extraParams; - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Boolean requested; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer + .HoldsCurrencies.Usd + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer + .HoldsCurrencies.Usd(this.extraParams, this.requested); + } - public static class Builder { - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Boolean requested; + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; } } } @@ -12611,12 +12160,15 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public static class FinancialAddresses { + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ @SerializedName("bank_accounts") BankAccounts bankAccounts; - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ @SerializedName("crypto_wallets") CryptoWallets cryptoWallets; @@ -12630,21 +12182,13 @@ public static class OutboundTransfers { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; - - private OutboundTransfers( + private FinancialAddresses( BankAccounts bankAccounts, CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts) { + Map extraParams) { this.bankAccounts = bankAccounts; this.cryptoWallets = cryptoWallets; this.extraParams = extraParams; - this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -12658,25 +12202,30 @@ public static class Builder { private Map extraParams; - private FinancialAccounts financialAccounts; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers( - this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( + this.bankAccounts, this.cryptoWallets, this.extraParams); } - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts + AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts bankAccounts) { this.bankAccounts = bankAccounts; return this; } - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + /** + * Can provision a crypto wallet like financial address to credit a FinancialAccount. + */ public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses .CryptoWallets cryptoWallets) { this.cryptoWallets = cryptoWallets; @@ -12687,7 +12236,7 @@ public Builder setCryptoWallets( * 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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -12702,7 +12251,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -12712,17 +12261,6 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - public Builder setFinancialAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } } @Getter @@ -12760,10 +12298,10 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses .BankAccounts build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses .BankAccounts(this.extraParams, this.requested); } @@ -12771,7 +12309,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -12786,7 +12324,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -12843,10 +12381,10 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses .CryptoWallets build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses .CryptoWallets(this.extraParams, this.requested); } @@ -12854,7 +12392,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -12869,7 +12407,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -12890,54 +12428,172 @@ public Builder setRequested(Boolean requested) { } } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class HoldsCurrencies { + /** Can hold storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** Can hold storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - public static class Builder { - private Map extraParams; + /** Can hold storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; - private Boolean requested; + /** Can hold storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private HoldsCurrencies( + Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) { + this.eur = eur; + this.extraParams = extraParams; + this.gbp = gbp; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Eur eur; + + private Map extraParams; + + private Gbp gbp; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies( + this.eur, this.extraParams, this.gbp, this.usd, this.usdc); + } + + /** Can hold storage-type funds on Stripe in EUR. */ + public Builder setEur( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) { + this.eur = eur; + 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Can hold storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { + this.gbp = gbp; + return this; + } + + /** Can hold storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd usd) { + this.usd = usd; + return this; + } + + /** Can hold storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Eur { + /** + * 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; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Eur(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Eur(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -12952,7 +12608,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -12973,1151 +12629,1672 @@ public Builder setRequested(Boolean requested) { } } } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RegulatedActivity { - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - @SerializedName("description") - Object description; - - /** - * 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 license number or registration number assigned by the business's primary regulator. - */ - @SerializedName("license_number") - Object licenseNumber; - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_country") - Object primaryRegulatoryAuthorityCountry; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Gbp { + /** + * 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 name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_name") - Object primaryRegulatoryAuthorityName; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private RegulatedActivity( - Object description, - Map extraParams, - Object licenseNumber, - Object primaryRegulatoryAuthorityCountry, - Object primaryRegulatoryAuthorityName) { - this.description = description; - this.extraParams = extraParams; - this.licenseNumber = licenseNumber; - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - } + private Gbp(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Object description; + public static class Builder { + private Map extraParams; - private Map extraParams; + private Boolean requested; - private Object licenseNumber; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Gbp(this.extraParams, this.requested); + } - private Object primaryRegulatoryAuthorityCountry; + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Object primaryRegulatoryAuthorityName; + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.RegulatedActivity build() { - return new AccountUpdateParams.Configuration.Storer.RegulatedActivity( - this.description, - this.extraParams, - this.licenseNumber, - this.primaryRegulatoryAuthorityCountry, - this.primaryRegulatoryAuthorityName); + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - public Builder setDescription(String description) { - this.description = description; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * 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 detailed description of the regulated activities the business is licensed to conduct. - */ - public Builder setDescription(EmptyParam description) { - this.description = description; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private Usd(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - 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 AccountUpdateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - /** - * The license number or registration number assigned by the business's primary regulator. - */ - public Builder setLicenseNumber(String licenseNumber) { - this.licenseNumber = licenseNumber; - return this; - } + public static class Builder { + private Map extraParams; - /** - * The license number or registration number assigned by the business's primary regulator. - */ - public Builder setLicenseNumber(EmptyParam licenseNumber) { - this.licenseNumber = licenseNumber; - return this; - } + private Boolean requested; - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityCountry( - String primaryRegulatoryAuthorityCountry) { - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Usd(this.extraParams, this.requested); + } - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityCountry( - EmptyParam primaryRegulatoryAuthorityCountry) { - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#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; + } - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#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 name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityName( - EmptyParam primaryRegulatoryAuthorityName) { - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - } - } - public enum HighRiskActivity implements ApiRequestParams.EnumParam { - @SerializedName("adult_entertainment") - ADULT_ENTERTAINMENT("adult_entertainment"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("gambling") - GAMBLING("gambling"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("hold_client_funds") - HOLD_CLIENT_FUNDS("hold_client_funds"), + private Usdc(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("investment_services") - INVESTMENT_SERVICES("investment_services"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lending_banking") - LENDING_BANKING("lending_banking"), + public static class Builder { + private Map extraParams; - @SerializedName("marijuana_or_related_services") - MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), + private Boolean requested; - @SerializedName("money_services") - MONEY_SERVICES("money_services"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Usdc(this.extraParams, this.requested); + } - @SerializedName("nicotine_tobacco_or_related_services") - NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#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; + } - @SerializedName("none") - NONE("none"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") - OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( - "operate_foreign_exchange_virtual_currencies_brokerage_otc"), - - @SerializedName("pharmaceuticals") - PHARMACEUTICALS("pharmaceuticals"), - - @SerializedName("precious_metals_precious_stones_jewelry") - PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - @SerializedName("safe_deposit_box_rentals") - SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InboundTransfers { + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - @SerializedName("third_party_payment_processing") - THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("weapons_firearms_and_explosives") - WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } - @Getter(onMethod_ = {@Override}) - private final String value; + public static Builder builder() { + return new Builder(); + } - HighRiskActivity(String value) { - this.value = value; - } - } + public static class Builder { + private BankAccounts bankAccounts; - public enum PurposeOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("charitable_donations") - CHARITABLE_DONATIONS("charitable_donations"), + private Map extraParams; - @SerializedName("ecommerce_retail_payments") - ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers( + this.bankAccounts, this.extraParams); + } - @SerializedName("investment_purposes") - INVESTMENT_PURPOSES("investment_purposes"), + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - @SerializedName("other") - OTHER("other"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#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; + } - @SerializedName("payments_to_friends_or_family_abroad") - PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - @SerializedName("payroll") - PAYROLL("payroll"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("personal_or_living_expenses") - PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("protect_wealth") - PROTECT_WEALTH("protect_wealth"), + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("purchase_goods_and_services") - PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("receive_payments_for_goods_and_services") - RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), + public static class Builder { + private Map extraParams; - @SerializedName("tax_optimization") - TAX_OPTIMIZATION("tax_optimization"), + private Boolean requested; - @SerializedName("third_party_money_transmission") - THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - @SerializedName("treasury_management") - TREASURY_MANAGEMENT("treasury_management"); + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - PurposeOfFunds(String value) { - this.value = value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } } - } - - public enum SourceOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("business_loans") - BUSINESS_LOANS("business_loans"), - - @SerializedName("grants") - GRANTS("grants"), - - @SerializedName("inter_company_funds") - INTER_COMPANY_FUNDS("inter_company_funds"), - @SerializedName("investment_proceeds") - INVESTMENT_PROCEEDS("investment_proceeds"), - - @SerializedName("legal_settlement") - LEGAL_SETTLEMENT("legal_settlement"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundPayments { + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - @SerializedName("owners_capital") - OWNERS_CAPITAL("owners_capital"), + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + @SerializedName("cards") + Cards cards; - @SerializedName("pension_retirement") - PENSION_RETIREMENT("pension_retirement"), + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; - @SerializedName("sales_of_assets") - SALES_OF_ASSETS("sales_of_assets"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sales_of_goods_and_services") - SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - @SerializedName("tax_refund") - TAX_REFUND("tax_refund"), + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + } - @SerializedName("third_party_funds") - THIRD_PARTY_FUNDS("third_party_funds"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("treasury_reserves") - TREASURY_RESERVES("treasury_reserves"); + public static class Builder { + private BankAccounts bankAccounts; - @Getter(onMethod_ = {@Override}) - private final String value; + private Cards cards; - SourceOfFunds(String value) { - this.value = value; - } - } - } - } + private CryptoWallets cryptoWallets; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Defaults { - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - @SerializedName("currency") - Object currency; + private Map extraParams; - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + private FinancialAccounts financialAccounts; - /** The Account's preferred locales (languages), ordered by preference. */ - @SerializedName("locales") - List locales; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.financialAccounts); + } - /** Account profile information. */ - @SerializedName("profile") - Profile profile; + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - /** Default responsibilities held by either Stripe or the platform. */ - @SerializedName("responsibilities") - Responsibilities responsibilities; + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + public Builder setCards( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + cards) { + this.cards = cards; + return this; + } - private Defaults( - Object currency, - Map extraParams, - List locales, - Profile profile, - Responsibilities responsibilities) { - this.currency = currency; - this.extraParams = extraParams; - this.locales = locales; - this.profile = profile; - this.responsibilities = responsibilities; - } + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static class Builder { - private Object currency; + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Map extraParams; + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + } - private List locales; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * 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 Profile profile; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Responsibilities responsibilities; + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults build() { - return new AccountUpdateParams.Defaults( - this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); - } + public static Builder builder() { + return new Builder(); + } - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(String currency) { - this.currency = currency; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(EmptyParam currency) { - this.currency = currency; - return this; - } + private Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountUpdateParams.Defaults#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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts(this.extraParams, this.requested); + } - /** - * 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 AccountUpdateParams.Defaults#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 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#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 an element to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Defaults#locales} for the field documentation. - */ - public Builder addLocale(AccountUpdateParams.Defaults.Locale element) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.add(element); - 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Defaults#locales} for the field documentation. - */ - public Builder addAllLocale(List elements) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.addAll(elements); - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Account profile information. */ - public Builder setProfile(AccountUpdateParams.Defaults.Profile profile) { - this.profile = profile; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cards { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Default responsibilities held by either Stripe or the platform. */ - public Builder setResponsibilities( - AccountUpdateParams.Defaults.Responsibilities responsibilities) { - this.responsibilities = responsibilities; - return this; - } - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Profile { - /** The business's publicly-available website. */ - @SerializedName("business_url") - Object businessUrl; + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** The name which is used by the business. */ - @SerializedName("doing_business_as") - Object doingBusinessAs; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - @SerializedName("product_description") - Object productDescription; + private Boolean requested; - private Profile( - Object businessUrl, - Object doingBusinessAs, - Map extraParams, - Object productDescription) { - this.businessUrl = businessUrl; - this.doingBusinessAs = doingBusinessAs; - this.extraParams = extraParams; - this.productDescription = productDescription; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .Cards(this.extraParams, this.requested); + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static class Builder { - private Object businessUrl; + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Object doingBusinessAs; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets { + /** + * 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 Object productDescription; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults.Profile build() { - return new AccountUpdateParams.Defaults.Profile( - this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); - } + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** The business's publicly-available website. */ - public Builder setBusinessUrl(String businessUrl) { - this.businessUrl = businessUrl; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** The business's publicly-available website. */ - public Builder setBusinessUrl(EmptyParam businessUrl) { - this.businessUrl = businessUrl; - return this; - } + public static class Builder { + private Map extraParams; - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(String doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } + private Boolean requested; - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(EmptyParam doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .CryptoWallets + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .CryptoWallets(this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Defaults.Profile#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#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 AccountUpdateParams.Defaults.Profile#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(String productDescription) { - this.productDescription = productDescription; - 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(EmptyParam productDescription) { - this.productDescription = productDescription; - return this; - } - } - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Responsibilities { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * 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. A value indicating the party responsible for collecting fees - * from this account. - */ - @SerializedName("fees_collector") - FeesCollector feesCollector; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - @SerializedName("losses_collector") - LossesCollector lossesCollector; + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Responsibilities( - Map extraParams, - FeesCollector feesCollector, - LossesCollector lossesCollector) { - this.extraParams = extraParams; - this.feesCollector = feesCollector; - this.lossesCollector = lossesCollector; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private Map extraParams; + private Boolean requested; - private FeesCollector feesCollector; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts(this.extraParams, this.requested); + } - private LossesCollector lossesCollector; + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults.Responsibilities build() { - return new AccountUpdateParams.Defaults.Responsibilities( - this.extraParams, this.feesCollector, this.lossesCollector); - } + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#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 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 AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.put(key, value); - return this; } - /** - * 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 AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - public Builder setFeesCollector( - AccountUpdateParams.Defaults.Responsibilities.FeesCollector feesCollector) { - this.feesCollector = feesCollector; - return this; - } + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - public Builder setLossesCollector( - AccountUpdateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { - this.lossesCollector = lossesCollector; - return this; - } - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public enum FeesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - @SerializedName("application_custom") - APPLICATION_CUSTOM("application_custom"), + private OutboundTransfers( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + } - @SerializedName("application_express") - APPLICATION_EXPRESS("application_express"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("stripe") - STRIPE("stripe"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - FeesCollector(String value) { - this.value = value; - } - } - - public enum LossesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), + public static class Builder { + private BankAccounts bankAccounts; - @SerializedName("stripe") - STRIPE("stripe"); + private CryptoWallets cryptoWallets; - @Getter(onMethod_ = {@Override}) - private final String value; + private Map extraParams; - LossesCollector(String value) { - this.value = value; - } - } - } + private FinancialAccounts financialAccounts; - public enum Locale implements ApiRequestParams.EnumParam { - @SerializedName("ar-SA") - AR_SA("ar-SA"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers( + this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); + } - @SerializedName("bg") - BG("bg"), + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - @SerializedName("bg-BG") - BG_BG("bg-BG"), + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; + } - @SerializedName("cs") - CS("cs"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#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; + } - @SerializedName("cs-CZ") - CS_CZ("cs-CZ"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("da") - DA("da"), + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + } - @SerializedName("da-DK") - DA_DK("da-DK"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("de") - DE("de"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("de-DE") - DE_DE("de-DE"), + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("el") - EL("el"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("el-GR") - EL_GR("el-GR"), + public static class Builder { + private Map extraParams; - @SerializedName("en") - EN("en"), + private Boolean requested; - @SerializedName("en-AU") - EN_AU("en-AU"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - @SerializedName("en-CA") - EN_CA("en-CA"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#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; + } - @SerializedName("en-GB") - EN_GB("en-GB"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("en-IE") - EN_IE("en-IE"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("en-IN") - EN_IN("en-IN"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("en-NZ") - EN_NZ("en-NZ"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("en-SG") - EN_SG("en-SG"), + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("en-US") - EN_US("en-US"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("es") - ES("es"), + public static class Builder { + private Map extraParams; - @SerializedName("es-419") - ES_419("es-419"), + private Boolean requested; - @SerializedName("es-ES") - ES_ES("es-ES"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .CryptoWallets + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .CryptoWallets(this.extraParams, this.requested); + } - @SerializedName("et") - ET("et"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#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; + } - @SerializedName("et-EE") - ET_EE("et-EE"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fil") - FIL("fil"), - - @SerializedName("fil-PH") - FIL_PH("fil-PH"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("fi-FI") - FI_FI("fi-FI"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("fr") - FR("fr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("fr-CA") - FR_CA("fr-CA"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("fr-FR") - FR_FR("fr-FR"), + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("he-IL") - HE_IL("he-IL"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("hr") - HR("hr"), + public static class Builder { + private Map extraParams; - @SerializedName("hr-HR") - HR_HR("hr-HR"), + private Boolean requested; - @SerializedName("hu") - HU("hu"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts(this.extraParams, this.requested); + } - @SerializedName("hu-HU") - HU_HU("hu-HU"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#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; + } - @SerializedName("id") - ID("id"), + /** + * 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 + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("id-ID") - ID_ID("id-ID"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } - @SerializedName("it") - IT("it"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegulatedActivity { + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + @SerializedName("description") + Object description; - @SerializedName("it-IT") - IT_IT("it-IT"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ja") - JA("ja"), + /** + * The license number or registration number assigned by the business's primary regulator. + */ + @SerializedName("license_number") + Object licenseNumber; - @SerializedName("ja-JP") - JA_JP("ja-JP"), + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_country") + Object primaryRegulatoryAuthorityCountry; - @SerializedName("ko") - KO("ko"), + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_name") + Object primaryRegulatoryAuthorityName; - @SerializedName("ko-KR") - KO_KR("ko-KR"), + private RegulatedActivity( + Object description, + Map extraParams, + Object licenseNumber, + Object primaryRegulatoryAuthorityCountry, + Object primaryRegulatoryAuthorityName) { + this.description = description; + this.extraParams = extraParams; + this.licenseNumber = licenseNumber; + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + } - @SerializedName("lt") - LT("lt"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lt-LT") - LT_LT("lt-LT"), + public static class Builder { + private Object description; - @SerializedName("lv") - LV("lv"), + private Map extraParams; - @SerializedName("lv-LV") - LV_LV("lv-LV"), + private Object licenseNumber; - @SerializedName("ms") - MS("ms"), + private Object primaryRegulatoryAuthorityCountry; - @SerializedName("ms-MY") - MS_MY("ms-MY"), + private Object primaryRegulatoryAuthorityName; - @SerializedName("mt") - MT("mt"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.RegulatedActivity build() { + return new AccountUpdateParams.Configuration.Storer.RegulatedActivity( + this.description, + this.extraParams, + this.licenseNumber, + this.primaryRegulatoryAuthorityCountry, + this.primaryRegulatoryAuthorityName); + } - @SerializedName("mt-MT") - MT_MT("mt-MT"), + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + public Builder setDescription(String description) { + this.description = description; + return this; + } - @SerializedName("nb") - NB("nb"), + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + public Builder setDescription(EmptyParam description) { + this.description = description; + return this; + } - @SerializedName("nb-NO") - NB_NO("nb-NO"), + /** + * 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 AccountUpdateParams.Configuration.Storer.RegulatedActivity#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; + } - @SerializedName("nl") - NL("nl"), - - @SerializedName("nl-NL") - NL_NL("nl-NL"), + /** + * 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 AccountUpdateParams.Configuration.Storer.RegulatedActivity#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("pl") - PL("pl"), + /** + * The license number or registration number assigned by the business's primary regulator. + */ + public Builder setLicenseNumber(String licenseNumber) { + this.licenseNumber = licenseNumber; + return this; + } - @SerializedName("pl-PL") - PL_PL("pl-PL"), + /** + * The license number or registration number assigned by the business's primary regulator. + */ + public Builder setLicenseNumber(EmptyParam licenseNumber) { + this.licenseNumber = licenseNumber; + return this; + } - @SerializedName("pt") - PT("pt"), + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityCountry( + String primaryRegulatoryAuthorityCountry) { + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + return this; + } - @SerializedName("pt-BR") - PT_BR("pt-BR"), + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityCountry( + EmptyParam primaryRegulatoryAuthorityCountry) { + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + return this; + } - @SerializedName("pt-PT") - PT_PT("pt-PT"), + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + return this; + } - @SerializedName("ro") - RO("ro"), + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityName( + EmptyParam primaryRegulatoryAuthorityName) { + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + return this; + } + } + } - @SerializedName("ro-RO") - RO_RO("ro-RO"), + public enum HighRiskActivity implements ApiRequestParams.EnumParam { + @SerializedName("adult_entertainment") + ADULT_ENTERTAINMENT("adult_entertainment"), - @SerializedName("ru") - RU("ru"), + @SerializedName("gambling") + GAMBLING("gambling"), - @SerializedName("ru-RU") - RU_RU("ru-RU"), + @SerializedName("hold_client_funds") + HOLD_CLIENT_FUNDS("hold_client_funds"), - @SerializedName("sk") - SK("sk"), + @SerializedName("investment_services") + INVESTMENT_SERVICES("investment_services"), - @SerializedName("sk-SK") - SK_SK("sk-SK"), + @SerializedName("lending_banking") + LENDING_BANKING("lending_banking"), - @SerializedName("sl") - SL("sl"), + @SerializedName("marijuana_or_related_services") + MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), - @SerializedName("sl-SI") - SL_SI("sl-SI"), + @SerializedName("money_services") + MONEY_SERVICES("money_services"), - @SerializedName("sv") - SV("sv"), + @SerializedName("nicotine_tobacco_or_related_services") + NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), - @SerializedName("sv-SE") - SV_SE("sv-SE"), + @SerializedName("none") + NONE("none"), - @SerializedName("th") - TH("th"), + @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") + OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( + "operate_foreign_exchange_virtual_currencies_brokerage_otc"), - @SerializedName("th-TH") - TH_TH("th-TH"), + @SerializedName("pharmaceuticals") + PHARMACEUTICALS("pharmaceuticals"), - @SerializedName("tr") - TR("tr"), + @SerializedName("precious_metals_precious_stones_jewelry") + PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), - @SerializedName("tr-TR") - TR_TR("tr-TR"), + @SerializedName("safe_deposit_box_rentals") + SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), - @SerializedName("vi") - VI("vi"), + @SerializedName("third_party_payment_processing") + THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), - @SerializedName("vi-VN") - VI_VN("vi-VN"), + @SerializedName("weapons_firearms_and_explosives") + WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); - @SerializedName("zh") - ZH("zh"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("zh-Hans") - ZH_HANS("zh-Hans"), + HighRiskActivity(String value) { + this.value = value; + } + } - @SerializedName("zh-Hant-HK") - ZH_HANT_HK("zh-Hant-HK"), + public enum PurposeOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("charitable_donations") + CHARITABLE_DONATIONS("charitable_donations"), - @SerializedName("zh-Hant-TW") - ZH_HANT_TW("zh-Hant-TW"), + @SerializedName("ecommerce_retail_payments") + ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), - @SerializedName("zh-HK") - ZH_HK("zh-HK"), + @SerializedName("investment_purposes") + INVESTMENT_PURPOSES("investment_purposes"), - @SerializedName("zh-TW") - ZH_TW("zh-TW"); + @SerializedName("other") + OTHER("other"), - @Getter(onMethod_ = {@Override}) - private final String value; + @SerializedName("payments_to_friends_or_family_abroad") + PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), - Locale(String value) { - this.value = value; - } - } - } + @SerializedName("payroll") + PAYROLL("payroll"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Identity { - /** - * Attestations from the identity's key people, e.g. owners, executives, directors, - * representatives. - */ - @SerializedName("attestations") - Attestations attestations; + @SerializedName("personal_or_living_expenses") + PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), - /** Information about the company or business. */ - @SerializedName("business_details") - BusinessDetails businessDetails; + @SerializedName("protect_wealth") + PROTECT_WEALTH("protect_wealth"), - /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO - * 3166-1 alpha-2 country code. - */ - @SerializedName("country") - Object country; + @SerializedName("purchase_goods_and_services") + PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), - /** The entity type. */ - @SerializedName("entity_type") - EntityType entityType; + @SerializedName("receive_payments_for_goods_and_services") + RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("tax_optimization") + TAX_OPTIMIZATION("tax_optimization"), - /** - * Information about the individual represented by the Account. This property is {@code null} - * unless {@code entity_type} is set to {@code individual}. - */ - @SerializedName("individual") - Individual individual; + @SerializedName("third_party_money_transmission") + THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), - private Identity( - Attestations attestations, - BusinessDetails businessDetails, - Object country, - EntityType entityType, - Map extraParams, - Individual individual) { - this.attestations = attestations; - this.businessDetails = businessDetails; - this.country = country; - this.entityType = entityType; - this.extraParams = extraParams; - this.individual = individual; - } + @SerializedName("treasury_management") + TREASURY_MANAGEMENT("treasury_management"); - public static Builder builder() { - return new Builder(); - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static class Builder { - private Attestations attestations; + PurposeOfFunds(String value) { + this.value = value; + } + } - private BusinessDetails businessDetails; + public enum SourceOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("business_loans") + BUSINESS_LOANS("business_loans"), - private Object country; + @SerializedName("grants") + GRANTS("grants"), - private EntityType entityType; + @SerializedName("inter_company_funds") + INTER_COMPANY_FUNDS("inter_company_funds"), - private Map extraParams; + @SerializedName("investment_proceeds") + INVESTMENT_PROCEEDS("investment_proceeds"), - private Individual individual; + @SerializedName("legal_settlement") + LEGAL_SETTLEMENT("legal_settlement"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity build() { - return new AccountUpdateParams.Identity( - this.attestations, - this.businessDetails, - this.country, - this.entityType, - this.extraParams, - this.individual); - } + @SerializedName("owners_capital") + OWNERS_CAPITAL("owners_capital"), - /** - * Attestations from the identity's key people, e.g. owners, executives, directors, - * representatives. - */ - public Builder setAttestations(AccountUpdateParams.Identity.Attestations attestations) { - this.attestations = attestations; - return this; + @SerializedName("pension_retirement") + PENSION_RETIREMENT("pension_retirement"), + + @SerializedName("sales_of_assets") + SALES_OF_ASSETS("sales_of_assets"), + + @SerializedName("sales_of_goods_and_services") + SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), + + @SerializedName("tax_refund") + TAX_REFUND("tax_refund"), + + @SerializedName("third_party_funds") + THIRD_PARTY_FUNDS("third_party_funds"), + + @SerializedName("treasury_reserves") + TREASURY_RESERVES("treasury_reserves"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SourceOfFunds(String value) { + this.value = value; + } } + } + } - /** Information about the company or business. */ - public Builder setBusinessDetails( - AccountUpdateParams.Identity.BusinessDetails businessDetails) { - this.businessDetails = businessDetails; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Defaults { + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + @SerializedName("currency") + Object currency; + + /** + * 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 preferred locales (languages), ordered by preference. */ + @SerializedName("locales") + List locales; + + /** Account profile information. */ + @SerializedName("profile") + Profile profile; + + /** Default responsibilities held by either Stripe or the platform. */ + @SerializedName("responsibilities") + Responsibilities responsibilities; + + private Defaults( + Object currency, + Map extraParams, + List locales, + Profile profile, + Responsibilities responsibilities) { + this.currency = currency; + this.extraParams = extraParams; + this.locales = locales; + this.profile = profile; + this.responsibilities = responsibilities; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object currency; + + private Map extraParams; + + private List locales; + + private Profile profile; + + private Responsibilities responsibilities; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults build() { + return new AccountUpdateParams.Defaults( + this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); } /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO 3166-1 alpha-2 country - * code. + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. */ - public Builder setCountry(String country) { - this.country = country; + public Builder setCurrency(String currency) { + this.currency = currency; return this; } /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO 3166-1 alpha-2 country - * code. + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. */ - public Builder setCountry(EmptyParam country) { - this.country = country; - return this; - } - - /** The entity type. */ - public Builder setEntityType(AccountUpdateParams.Identity.EntityType entityType) { - this.entityType = entityType; + public Builder setCurrency(EmptyParam currency) { + this.currency = currency; 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 - * AccountUpdateParams.Identity#extraParams} for the field documentation. + * AccountUpdateParams.Defaults#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -14130,7 +14307,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountUpdateParams.Identity#extraParams} for the field documentation. + * See {@link AccountUpdateParams.Defaults#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -14141,24 +14318,55 @@ public Builder putAllExtraParam(Map map) { } /** - * Information about the individual represented by the Account. This property is {@code null} - * unless {@code entity_type} is set to {@code individual}. + * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Defaults#locales} for the field documentation. */ - public Builder setIndividual(AccountUpdateParams.Identity.Individual individual) { - this.individual = individual; + public Builder addLocale(AccountUpdateParams.Defaults.Locale element) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.add(element); + return this; + } + + /** + * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Defaults#locales} for the field documentation. + */ + public Builder addAllLocale(List elements) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.addAll(elements); + return this; + } + + /** Account profile information. */ + public Builder setProfile(AccountUpdateParams.Defaults.Profile profile) { + this.profile = profile; + return this; + } + + /** Default responsibilities held by either Stripe or the platform. */ + public Builder setResponsibilities( + AccountUpdateParams.Defaults.Responsibilities responsibilities) { + this.responsibilities = responsibilities; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Attestations { - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - @SerializedName("directorship_declaration") - DirectorshipDeclaration directorshipDeclaration; + public static class Profile { + /** The business's publicly-available website. */ + @SerializedName("business_url") + Object businessUrl; + + /** The name which is used by the business. */ + @SerializedName("doing_business_as") + Object doingBusinessAs; /** * Map of extra parameters for custom features not available in this client library. The @@ -14170,40 +14378,21 @@ public static class Attestations { Map extraParams; /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - @SerializedName("ownership_declaration") - OwnershipDeclaration ownershipDeclaration; - - /** Attestation that all Persons with a specific Relationship value have been provided. */ - @SerializedName("persons_provided") - PersonsProvided personsProvided; - - /** - * This hash is used to attest that the representative is authorized to act as the - * representative of their legal entity. + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. */ - @SerializedName("representative_declaration") - RepresentativeDeclaration representativeDeclaration; - - /** Attestations of accepted terms of service agreements. */ - @SerializedName("terms_of_service") - TermsOfService termsOfService; + @SerializedName("product_description") + Object productDescription; - private Attestations( - DirectorshipDeclaration directorshipDeclaration, + private Profile( + Object businessUrl, + Object doingBusinessAs, Map extraParams, - OwnershipDeclaration ownershipDeclaration, - PersonsProvided personsProvided, - RepresentativeDeclaration representativeDeclaration, - TermsOfService termsOfService) { - this.directorshipDeclaration = directorshipDeclaration; + Object productDescription) { + this.businessUrl = businessUrl; + this.doingBusinessAs = doingBusinessAs; this.extraParams = extraParams; - this.ownershipDeclaration = ownershipDeclaration; - this.personsProvided = personsProvided; - this.representativeDeclaration = representativeDeclaration; - this.termsOfService = termsOfService; + this.productDescription = productDescription; } public static Builder builder() { @@ -14211,44 +14400,48 @@ public static Builder builder() { } public static class Builder { - private DirectorshipDeclaration directorshipDeclaration; + private Object businessUrl; + + private Object doingBusinessAs; private Map extraParams; - private OwnershipDeclaration ownershipDeclaration; + private Object productDescription; - private PersonsProvided personsProvided; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults.Profile build() { + return new AccountUpdateParams.Defaults.Profile( + this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); + } - private RepresentativeDeclaration representativeDeclaration; + /** The business's publicly-available website. */ + public Builder setBusinessUrl(String businessUrl) { + this.businessUrl = businessUrl; + return this; + } - private TermsOfService termsOfService; + /** The business's publicly-available website. */ + public Builder setBusinessUrl(EmptyParam businessUrl) { + this.businessUrl = businessUrl; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations build() { - return new AccountUpdateParams.Identity.Attestations( - this.directorshipDeclaration, - this.extraParams, - this.ownershipDeclaration, - this.personsProvided, - this.representativeDeclaration, - this.termsOfService); + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(String doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; } - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - public Builder setDirectorshipDeclaration( - AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration - directorshipDeclaration) { - this.directorshipDeclaration = directorshipDeclaration; + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(EmptyParam doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; 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 AccountUpdateParams.Identity.Attestations#extraParams} for the field + * map. See {@link AccountUpdateParams.Defaults.Profile#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -14262,7 +14455,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations#extraParams} for the field + * map. See {@link AccountUpdateParams.Defaults.Profile#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -14274,1084 +14467,5578 @@ public Builder putAllExtraParam(Map map) { } /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. */ - public Builder setOwnershipDeclaration( - AccountUpdateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { - this.ownershipDeclaration = ownershipDeclaration; + public Builder setProductDescription(String productDescription) { + this.productDescription = productDescription; return this; } - /** Attestation that all Persons with a specific Relationship value have been provided. */ - public Builder setPersonsProvided( - AccountUpdateParams.Identity.Attestations.PersonsProvided personsProvided) { - this.personsProvided = personsProvided; + /** + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. + */ + public Builder setProductDescription(EmptyParam productDescription) { + this.productDescription = productDescription; return this; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Responsibilities { + /** + * 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. A value indicating the party responsible for collecting fees + * from this account. + */ + @SerializedName("fees_collector") + FeesCollector feesCollector; + + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + @SerializedName("losses_collector") + LossesCollector lossesCollector; + + private Responsibilities( + Map extraParams, + FeesCollector feesCollector, + LossesCollector lossesCollector) { + this.extraParams = extraParams; + this.feesCollector = feesCollector; + this.lossesCollector = lossesCollector; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FeesCollector feesCollector; + + private LossesCollector lossesCollector; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults.Responsibilities build() { + return new AccountUpdateParams.Defaults.Responsibilities( + this.extraParams, this.feesCollector, this.lossesCollector); + } /** - * This hash is used to attest that the representative is authorized to act as the - * representative of their legal entity. + * 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 AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. */ - public Builder setRepresentativeDeclaration( - AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration - representativeDeclaration) { - this.representativeDeclaration = representativeDeclaration; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); return this; } - /** Attestations of accepted terms of service agreements. */ - public Builder setTermsOfService( - AccountUpdateParams.Identity.Attestations.TermsOfService termsOfService) { - this.termsOfService = termsOfService; + /** + * 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 AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DirectorshipDeclaration { /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + * Required. A value indicating the party responsible for collecting fees + * from this account. */ - @SerializedName("date") - java.time.Instant date; + public Builder setFeesCollector( + AccountUpdateParams.Defaults.Responsibilities.FeesCollector feesCollector) { + this.feesCollector = feesCollector; + return this; + } /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setLossesCollector( + AccountUpdateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { + this.lossesCollector = lossesCollector; + return this; + } + } - /** The IP address from which the director attestation was made. */ - @SerializedName("ip") - Object ip; + public enum FeesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - /** The user agent of the browser from which the director attestation was made. */ - @SerializedName("user_agent") - Object userAgent; + @SerializedName("application_custom") + APPLICATION_CUSTOM("application_custom"), - private DirectorshipDeclaration( - java.time.Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + @SerializedName("application_express") + APPLICATION_EXPRESS("application_express"), - public static Builder builder() { - return new Builder(); + @SerializedName("stripe") + STRIPE("stripe"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + FeesCollector(String value) { + this.value = value; } + } - public static class Builder { - private java.time.Instant date; + public enum LossesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - private Map extraParams; + @SerializedName("stripe") + STRIPE("stripe"); - private Object ip; + @Getter(onMethod_ = {@Override}) + private final String value; - private Object userAgent; + LossesCollector(String value) { + this.value = value; + } + } + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration build() { - return new AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } + public enum Locale implements ApiRequestParams.EnumParam { + @SerializedName("ar-SA") + AR_SA("ar-SA"), - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + @SerializedName("bg") + BG("bg"), - /** - * 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 - * AccountUpdateParams.Identity.Attestations.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; - } + @SerializedName("bg-BG") + BG_BG("bg-BG"), - /** - * 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 - * AccountUpdateParams.Identity.Attestations.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; - } + @SerializedName("cs") + CS("cs"), - /** The IP address from which the director attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + @SerializedName("cs-CZ") + CS_CZ("cs-CZ"), - /** The IP address from which the director attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + @SerializedName("da") + DA("da"), - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + @SerializedName("da-DK") + DA_DK("da-DK"), - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + @SerializedName("de") + DE("de"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OwnershipDeclaration { - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + @SerializedName("de-DE") + DE_DE("de-DE"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("el") + EL("el"), - /** The IP address from which the beneficial owner attestation was made. */ - @SerializedName("ip") - Object ip; + @SerializedName("el-GR") + EL_GR("el-GR"), - /** The user agent of the browser from which the beneficial owner attestation was made. */ - @SerializedName("user_agent") - Object userAgent; + @SerializedName("en") + EN("en"), - private OwnershipDeclaration( - java.time.Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + @SerializedName("en-AU") + EN_AU("en-AU"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("en-CA") + EN_CA("en-CA"), - public static class Builder { - private java.time.Instant date; + @SerializedName("en-GB") + EN_GB("en-GB"), - private Map extraParams; + @SerializedName("en-IE") + EN_IE("en-IE"), - private Object ip; + @SerializedName("en-IN") + EN_IN("en-IN"), - private Object userAgent; + @SerializedName("en-NZ") + EN_NZ("en-NZ"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.OwnershipDeclaration build() { - return new AccountUpdateParams.Identity.Attestations.OwnershipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } + @SerializedName("en-SG") + EN_SG("en-SG"), - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + @SerializedName("en-US") + EN_US("en-US"), - /** - * 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 - * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#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; - } + @SerializedName("es") + ES("es"), - /** - * 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 - * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("es-419") + ES_419("es-419"), - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + @SerializedName("es-ES") + ES_ES("es-ES"), - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + @SerializedName("et") + ET("et"), - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + @SerializedName("et-EE") + ET_EE("et-EE"), - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + @SerializedName("fi") + FI("fi"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PersonsProvided { - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - @SerializedName("directors") - Boolean directors; + @SerializedName("fil") + FIL("fil"), - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - @SerializedName("executives") - Boolean executives; + @SerializedName("fil-PH") + FIL_PH("fil-PH"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("fi-FI") + FI_FI("fi-FI"), - /** - * Whether the company’s owners have been provided. Set this Boolean to true after creating - * all the company’s owners with the Persons API. - */ - @SerializedName("owners") - Boolean owners; + @SerializedName("fr") + FR("fr"), - /** Reason for why the company is exempt from providing ownership information. */ - @SerializedName("ownership_exemption_reason") - OwnershipExemptionReason ownershipExemptionReason; + @SerializedName("fr-CA") + FR_CA("fr-CA"), - private PersonsProvided( - Boolean directors, - Boolean executives, - Map extraParams, - Boolean owners, - OwnershipExemptionReason ownershipExemptionReason) { - this.directors = directors; - this.executives = executives; - this.extraParams = extraParams; - this.owners = owners; - this.ownershipExemptionReason = ownershipExemptionReason; - } + @SerializedName("fr-FR") + FR_FR("fr-FR"), - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean directors; + @SerializedName("he-IL") + HE_IL("he-IL"), - private Boolean executives; + @SerializedName("hr") + HR("hr"), - private Map extraParams; + @SerializedName("hr-HR") + HR_HR("hr-HR"), - private Boolean owners; + @SerializedName("hu") + HU("hu"), - private OwnershipExemptionReason ownershipExemptionReason; + @SerializedName("hu-HU") + HU_HU("hu-HU"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.PersonsProvided build() { - return new AccountUpdateParams.Identity.Attestations.PersonsProvided( - this.directors, - this.executives, - this.extraParams, - this.owners, - this.ownershipExemptionReason); - } + @SerializedName("id") + ID("id"), - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - public Builder setDirectors(Boolean directors) { - this.directors = directors; - return this; - } + @SerializedName("id-ID") + ID_ID("id-ID"), - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - public Builder setExecutives(Boolean executives) { - this.executives = executives; - return this; - } + @SerializedName("it") + IT("it"), - /** - * 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 AccountUpdateParams.Identity.Attestations.PersonsProvided#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; - } + @SerializedName("it-IT") + IT_IT("it-IT"), - /** - * 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 AccountUpdateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("ja") + JA("ja"), - /** - * Whether the company’s owners have been provided. Set this Boolean to true after - * creating all the company’s owners with the Persons API. - */ - public Builder setOwners(Boolean owners) { - this.owners = owners; - return this; - } + @SerializedName("ja-JP") + JA_JP("ja-JP"), - /** Reason for why the company is exempt from providing ownership information. */ - public Builder setOwnershipExemptionReason( - AccountUpdateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason - ownershipExemptionReason) { - this.ownershipExemptionReason = ownershipExemptionReason; - return this; - } - } + @SerializedName("ko") + KO("ko"), - public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { - @SerializedName("qualified_entity_exceeds_ownership_threshold") - QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( - "qualified_entity_exceeds_ownership_threshold"), + @SerializedName("ko-KR") + KO_KR("ko-KR"), - @SerializedName("qualifies_as_financial_institution") - QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); + @SerializedName("lt") + LT("lt"), - @Getter(onMethod_ = {@Override}) - private final String value; + @SerializedName("lt-LT") + LT_LT("lt-LT"), - OwnershipExemptionReason(String value) { - this.value = value; - } - } - } + @SerializedName("lv") + LV("lv"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RepresentativeDeclaration { - /** - * The time marking when the representative attestation was made. Represented as a RFC 3339 - * date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + @SerializedName("lv-LV") + LV_LV("lv-LV"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("ms") + MS("ms"), - /** The IP address from which the representative attestation was made. */ - @SerializedName("ip") - Object ip; + @SerializedName("ms-MY") + MS_MY("ms-MY"), - /** The user agent of the browser from which the representative attestation was made. */ - @SerializedName("user_agent") - Object userAgent; + @SerializedName("mt") + MT("mt"), - private RepresentativeDeclaration( - java.time.Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + @SerializedName("mt-MT") + MT_MT("mt-MT"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("nb") + NB("nb"), - public static class Builder { - private java.time.Instant date; + @SerializedName("nb-NO") + NB_NO("nb-NO"), - private Map extraParams; + @SerializedName("nl") + NL("nl"), - private Object ip; + @SerializedName("nl-NL") + NL_NL("nl-NL"), - private Object userAgent; + @SerializedName("pl") + PL("pl"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration build() { - return new AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } + @SerializedName("pl-PL") + PL_PL("pl-PL"), - /** - * The time marking when the representative attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + @SerializedName("pt") + PT("pt"), - /** - * 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 - * AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration#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; - } + @SerializedName("pt-BR") + PT_BR("pt-BR"), - /** - * 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 - * AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("pt-PT") + PT_PT("pt-PT"), - /** The IP address from which the representative attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + @SerializedName("ro") + RO("ro"), - /** The IP address from which the representative attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + @SerializedName("ro-RO") + RO_RO("ro-RO"), - /** The user agent of the browser from which the representative attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + @SerializedName("ru") + RU("ru"), - /** The user agent of the browser from which the representative attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TermsOfService { - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - @SerializedName("account") - Account account; - - /** Details on the Account's acceptance of Issuing-specific terms of service. */ - @SerializedName("card_creator") - CardCreator cardCreator; - - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - @SerializedName("crypto_storer") - CryptoStorer cryptoStorer; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("ru-RU") + RU_RU("ru-RU"), - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + @SerializedName("sk") + SK("sk"), - private TermsOfService( - Account account, - CardCreator cardCreator, - CryptoStorer cryptoStorer, - Map extraParams, - Storer storer) { - this.account = account; - this.cardCreator = cardCreator; - this.cryptoStorer = cryptoStorer; - this.extraParams = extraParams; - this.storer = storer; - } + @SerializedName("sk-SK") + SK_SK("sk-SK"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("sl") + SL("sl"), - public static class Builder { - private Account account; + @SerializedName("sl-SI") + SL_SI("sl-SI"), - private CardCreator cardCreator; + @SerializedName("sv") + SV("sv"), - private CryptoStorer cryptoStorer; + @SerializedName("sv-SE") + SV_SE("sv-SE"), - private Map extraParams; + @SerializedName("th") + TH("th"), - private Storer storer; + @SerializedName("th-TH") + TH_TH("th-TH"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService( - this.account, this.cardCreator, this.cryptoStorer, this.extraParams, this.storer); - } + @SerializedName("tr") + TR("tr"), - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - public Builder setAccount( - AccountUpdateParams.Identity.Attestations.TermsOfService.Account account) { - this.account = account; - return this; - } + @SerializedName("tr-TR") + TR_TR("tr-TR"), - /** Details on the Account's acceptance of Issuing-specific terms of service. */ - public Builder setCardCreator( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator cardCreator) { - this.cardCreator = cardCreator; - return this; - } + @SerializedName("vi") + VI("vi"), - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - public Builder setCryptoStorer( - AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer cryptoStorer) { - this.cryptoStorer = cryptoStorer; - return this; - } + @SerializedName("vi-VN") + VI_VN("vi-VN"), - /** - * 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 AccountUpdateParams.Identity.Attestations.TermsOfService#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; - } + @SerializedName("zh") + ZH("zh"), - /** - * 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 AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("zh-Hans") + ZH_HANS("zh-Hans"), - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - public Builder setStorer( - AccountUpdateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; - return this; - } - } + @SerializedName("zh-Hant-HK") + ZH_HANT_HK("zh-Hant-HK"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Account { - /** - * The time when the Account's representative accepted the terms of service. Represented - * as a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + @SerializedName("zh-Hant-TW") + ZH_HANT_TW("zh-Hant-TW"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("zh-HK") + ZH_HK("zh-HK"), - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - @SerializedName("ip") - Object ip; + @SerializedName("zh-TW") + ZH_TW("zh-TW"); - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - Object userAgent; + @Getter(onMethod_ = {@Override}) + private final String value; - private Account( - java.time.Instant date, - Map extraParams, - Object ip, - Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + Locale(String value) { + this.value = value; + } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Identity { + /** + * Attestations from the identity's key people, e.g. owners, executives, directors, + * representatives. + */ + @SerializedName("attestations") + Attestations attestations; - public static class Builder { - private java.time.Instant date; + /** Information about the company or business. */ + @SerializedName("business_details") + BusinessDetails businessDetails; - private Map extraParams; + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO + * 3166-1 alpha-2 country code. + */ + @SerializedName("country") + Object country; - private Object ip; + /** The entity type. */ + @SerializedName("entity_type") + EntityType entityType; - private Object userAgent; + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.Account build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.Account( - this.date, this.extraParams, this.ip, this.userAgent); - } + /** + * Information about the individual represented by the Account. This property is {@code null} + * unless {@code entity_type} is set to {@code individual}. + */ + @SerializedName("individual") + Individual individual; - /** - * The time when the Account's representative accepted the terms of service. Represented - * as a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + private Identity( + Attestations attestations, + BusinessDetails businessDetails, + Object country, + EntityType entityType, + Map extraParams, + Individual individual) { + this.attestations = attestations; + this.businessDetails = businessDetails; + this.country = country; + this.entityType = entityType; + this.extraParams = extraParams; + this.individual = individual; + } - /** - * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static class Builder { + private Attestations attestations; - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + private BusinessDetails businessDetails; - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + private Object country; - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + private EntityType entityType; - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + private Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardCreator { - /** Terms of service acceptances to create cards for commercial issuing use cases. */ - @SerializedName("commercial") - Commercial commercial; + private Individual individual; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity build() { + return new AccountUpdateParams.Identity( + this.attestations, + this.businessDetails, + this.country, + this.entityType, + this.extraParams, + this.individual); + } - private CardCreator(Commercial commercial, Map extraParams) { - this.commercial = commercial; - this.extraParams = extraParams; - } + /** + * Attestations from the identity's key people, e.g. owners, executives, directors, + * representatives. + */ + public Builder setAttestations(AccountUpdateParams.Identity.Attestations attestations) { + this.attestations = attestations; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** Information about the company or business. */ + public Builder setBusinessDetails( + AccountUpdateParams.Identity.BusinessDetails businessDetails) { + this.businessDetails = businessDetails; + return this; + } - public static class Builder { - private Commercial commercial; + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO 3166-1 alpha-2 country + * code. + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - private Map extraParams; + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO 3166-1 alpha-2 country + * code. + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator( - this.commercial, this.extraParams); - } + /** The entity type. */ + public Builder setEntityType(AccountUpdateParams.Identity.EntityType entityType) { + this.entityType = entityType; + return this; + } - /** Terms of service acceptances to create cards for commercial issuing use cases. */ - public Builder setCommercial( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - commercial) { - this.commercial = commercial; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountUpdateParams.Identity#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator#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 AccountUpdateParams.Identity#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + /** + * Information about the individual represented by the Account. This property is {@code null} + * unless {@code entity_type} is set to {@code individual}. + */ + public Builder setIndividual(AccountUpdateParams.Identity.Individual individual) { + this.individual = individual; + return this; + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Commercial { - /** Terms of service acceptances for Stripe commercial card issuing. */ - @SerializedName("account_holder") - AccountHolder accountHolder; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Attestations { + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + @SerializedName("directorship_declaration") + DirectorshipDeclaration directorshipDeclaration; - /** - * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. - */ - @SerializedName("celtic") + /** + * 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; + + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + @SerializedName("ownership_declaration") + OwnershipDeclaration ownershipDeclaration; + + /** Attestation that all Persons with a specific Relationship value have been provided. */ + @SerializedName("persons_provided") + PersonsProvided personsProvided; + + /** + * This hash is used to attest that the representative is authorized to act as the + * representative of their legal entity. + */ + @SerializedName("representative_declaration") + RepresentativeDeclaration representativeDeclaration; + + /** Attestations of accepted terms of service agreements. */ + @SerializedName("terms_of_service") + TermsOfService termsOfService; + + private Attestations( + DirectorshipDeclaration directorshipDeclaration, + Map extraParams, + OwnershipDeclaration ownershipDeclaration, + PersonsProvided personsProvided, + RepresentativeDeclaration representativeDeclaration, + TermsOfService termsOfService) { + this.directorshipDeclaration = directorshipDeclaration; + this.extraParams = extraParams; + this.ownershipDeclaration = ownershipDeclaration; + this.personsProvided = personsProvided; + this.representativeDeclaration = representativeDeclaration; + this.termsOfService = termsOfService; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DirectorshipDeclaration directorshipDeclaration; + + private Map extraParams; + + private OwnershipDeclaration ownershipDeclaration; + + private PersonsProvided personsProvided; + + private RepresentativeDeclaration representativeDeclaration; + + private TermsOfService termsOfService; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations build() { + return new AccountUpdateParams.Identity.Attestations( + this.directorshipDeclaration, + this.extraParams, + this.ownershipDeclaration, + this.personsProvided, + this.representativeDeclaration, + this.termsOfService); + } + + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + public Builder setDirectorshipDeclaration( + AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration + directorshipDeclaration) { + this.directorshipDeclaration = directorshipDeclaration; + 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 AccountUpdateParams.Identity.Attestations#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 AccountUpdateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + public Builder setOwnershipDeclaration( + AccountUpdateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { + this.ownershipDeclaration = ownershipDeclaration; + return this; + } + + /** Attestation that all Persons with a specific Relationship value have been provided. */ + public Builder setPersonsProvided( + AccountUpdateParams.Identity.Attestations.PersonsProvided personsProvided) { + this.personsProvided = personsProvided; + return this; + } + + /** + * This hash is used to attest that the representative is authorized to act as the + * representative of their legal entity. + */ + public Builder setRepresentativeDeclaration( + AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration + representativeDeclaration) { + this.representativeDeclaration = representativeDeclaration; + return this; + } + + /** Attestations of accepted terms of service agreements. */ + public Builder setTermsOfService( + AccountUpdateParams.Identity.Attestations.TermsOfService termsOfService) { + this.termsOfService = termsOfService; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DirectorshipDeclaration { + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the director attestation was made. */ + @SerializedName("ip") + Object ip; + + /** The user agent of the browser from which the director attestation was made. */ + @SerializedName("user_agent") + Object userAgent; + + private DirectorshipDeclaration( + java.time.Instant date, Map extraParams, Object ip, Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration build() { + return new AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.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 + * AccountUpdateParams.Identity.Attestations.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 director attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** The IP address from which the director attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OwnershipDeclaration { + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the beneficial owner attestation was made. */ + @SerializedName("ip") + Object ip; + + /** The user agent of the browser from which the beneficial owner attestation was made. */ + @SerializedName("user_agent") + Object userAgent; + + private OwnershipDeclaration( + java.time.Instant date, Map extraParams, Object ip, Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.OwnershipDeclaration build() { + return new AccountUpdateParams.Identity.Attestations.OwnershipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#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 + * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#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 beneficial owner attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PersonsProvided { + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + @SerializedName("directors") + Boolean directors; + + /** + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. + */ + @SerializedName("executives") + Boolean executives; + + /** + * 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; + + /** + * Whether the company’s owners have been provided. Set this Boolean to true after creating + * all the company’s owners with the Persons API. + */ + @SerializedName("owners") + Boolean owners; + + /** Reason for why the company is exempt from providing ownership information. */ + @SerializedName("ownership_exemption_reason") + OwnershipExemptionReason ownershipExemptionReason; + + private PersonsProvided( + Boolean directors, + Boolean executives, + Map extraParams, + Boolean owners, + OwnershipExemptionReason ownershipExemptionReason) { + this.directors = directors; + this.executives = executives; + this.extraParams = extraParams; + this.owners = owners; + this.ownershipExemptionReason = ownershipExemptionReason; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Boolean directors; + + private Boolean executives; + + private Map extraParams; + + private Boolean owners; + + private OwnershipExemptionReason ownershipExemptionReason; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.PersonsProvided build() { + return new AccountUpdateParams.Identity.Attestations.PersonsProvided( + this.directors, + this.executives, + this.extraParams, + this.owners, + this.ownershipExemptionReason); + } + + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + public Builder setDirectors(Boolean directors) { + this.directors = directors; + return this; + } + + /** + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. + */ + public Builder setExecutives(Boolean executives) { + this.executives = executives; + 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 AccountUpdateParams.Identity.Attestations.PersonsProvided#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 AccountUpdateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether the company’s owners have been provided. Set this Boolean to true after + * creating all the company’s owners with the Persons API. + */ + public Builder setOwners(Boolean owners) { + this.owners = owners; + return this; + } + + /** Reason for why the company is exempt from providing ownership information. */ + public Builder setOwnershipExemptionReason( + AccountUpdateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason + ownershipExemptionReason) { + this.ownershipExemptionReason = ownershipExemptionReason; + return this; + } + } + + 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; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RepresentativeDeclaration { + /** + * The time marking when the representative attestation was made. Represented as a RFC 3339 + * date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the representative attestation was made. */ + @SerializedName("ip") + Object ip; + + /** The user agent of the browser from which the representative attestation was made. */ + @SerializedName("user_agent") + Object userAgent; + + private RepresentativeDeclaration( + java.time.Instant date, Map extraParams, Object ip, Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration build() { + return new AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time marking when the representative attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration#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 + * AccountUpdateParams.Identity.Attestations.RepresentativeDeclaration#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 representative attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** The IP address from which the representative attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** The user agent of the browser from which the representative attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** The user agent of the browser from which the representative attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TermsOfService { + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + @SerializedName("account") + Account account; + + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + @SerializedName("card_creator") + CardCreator cardCreator; + + /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ + @SerializedName("crypto_storer") + CryptoStorer cryptoStorer; + + /** + * 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; + + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + @SerializedName("storer") + Storer storer; + + private TermsOfService( + Account account, + CardCreator cardCreator, + CryptoStorer cryptoStorer, + Map extraParams, + Storer storer) { + this.account = account; + this.cardCreator = cardCreator; + this.cryptoStorer = cryptoStorer; + this.extraParams = extraParams; + this.storer = storer; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Account account; + + private CardCreator cardCreator; + + private CryptoStorer cryptoStorer; + + private Map extraParams; + + private Storer storer; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService( + this.account, this.cardCreator, this.cryptoStorer, this.extraParams, this.storer); + } + + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + public Builder setAccount( + AccountUpdateParams.Identity.Attestations.TermsOfService.Account account) { + this.account = account; + return this; + } + + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + public Builder setCardCreator( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator cardCreator) { + this.cardCreator = cardCreator; + return this; + } + + /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ + public Builder setCryptoStorer( + AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer cryptoStorer) { + this.cryptoStorer = cryptoStorer; + 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 AccountUpdateParams.Identity.Attestations.TermsOfService#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 AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + public Builder setStorer( + AccountUpdateParams.Identity.Attestations.TermsOfService.Storer storer) { + this.storer = storer; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Account { + /** + * The time when the Account's representative accepted the terms of service. Represented + * as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Account( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.Account build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.Account( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. Represented + * as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#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 Account's representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardCreator { + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; + + /** Terms of service acceptances to create cards for consumer issuing use cases. */ + @SerializedName("consumer") + Consumer consumer; + + /** + * 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 CardCreator( + Commercial commercial, Consumer consumer, Map extraParams) { + this.commercial = commercial; + this.consumer = consumer; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Commercial commercial; + + private Consumer consumer; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator( + this.commercial, this.consumer, this.extraParams); + } + + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + public Builder setCommercial( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + commercial) { + this.commercial = commercial; + return this; + } + + /** Terms of service acceptances to create cards for consumer issuing use cases. */ + public Builder setConsumer( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + consumer) { + this.consumer = consumer; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Commercial { + /** Terms of service acceptances for Stripe commercial card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") Celtic celtic; - /** - * Terms of service acceptances for commercial issuing cards with Cross River Bank as - * BIN sponsor. - */ - @SerializedName("cross_river_bank") - CrossRiverBank crossRiverBank; + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; + + /** + * 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; + + /** + * Terms of service acceptances for commercial issuing cards with Fifth Third as BIN + * sponsor. + */ + @SerializedName("fifth_third") + FifthThird fifthThird; + + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + @SerializedName("global_account_holder") + GlobalAccountHolder globalAccountHolder; + + /** + * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. + */ + @SerializedName("lead") + Lead lead; + + private Commercial( + AccountHolder accountHolder, + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + FifthThird fifthThird, + GlobalAccountHolder globalAccountHolder, + Lead lead) { + this.accountHolder = accountHolder; + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.fifthThird = fifthThird; + this.globalAccountHolder = globalAccountHolder; + this.lead = lead; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AccountHolder accountHolder; + + private Celtic celtic; + + private CrossRiverBank crossRiverBank; + + private Map extraParams; + + private FifthThird fifthThird; + + private GlobalAccountHolder globalAccountHolder; + + private Lead lead; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial( + this.accountHolder, + this.celtic, + this.crossRiverBank, + this.extraParams, + this.fifthThird, + this.globalAccountHolder, + this.lead); + } + + /** Terms of service acceptances for Stripe commercial card issuing. */ + public Builder setAccountHolder( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .AccountHolder + accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN + * sponsor. + */ + public Builder setCeltic( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic + celtic) { + this.celtic = celtic; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + public Builder setCrossRiverBank( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Fifth Third as BIN + * sponsor. + */ + public Builder setFifthThird( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .FifthThird + fifthThird) { + this.fifthThird = fifthThird; + return this; + } + + /** Terms of service acceptances for Stripe commercial card Global issuing. */ + public Builder setGlobalAccountHolder( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .GlobalAccountHolder + globalAccountHolder) { + this.globalAccountHolder = globalAccountHolder; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. + */ + public Builder setLead( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Lead + lead) { + this.lead = lead; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private AccountHolder( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN + * sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; + + private Celtic( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApplePay applePay; + + private ChargeCard chargeCard; + + private Map extraParams; + + private SpendCard spendCard; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic( + this.applePay, this.chargeCard, this.extraParams, this.spendCard); + } + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic + * as BIN sponsor. + */ + public Builder setApplePay( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ApplePay + applePay) { + this.applePay = applePay; + return this; + } + + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as + * BIN sponsor. + */ + public Builder setChargeCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as + * BIN sponsor. + */ + public Builder setSpendCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private ApplePay( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * 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; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard( + this.bankTerms, this.extraParams, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * 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; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Terms of service acceptances for commercial issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; + + private CrossRiverBank( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + PrepaidCard prepaidCard, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + this.spendCard = spendCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApplePay applePay; + + private ChargeCard chargeCard; + + private Map extraParams; + + private PrepaidCard prepaidCard; + + private SpendCard spendCard; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank( + this.applePay, + this.chargeCard, + this.extraParams, + this.prepaidCard, + this.spendCard); + } + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setApplePay( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ApplePay + applePay) { + this.applePay = applePay; + return this; + } + + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setChargeCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for commercial issuing prepaid cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setPrepaidCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setSpendCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private ApplePay( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * 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; + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Bank terms of service acceptance for commercial issuing prepaid cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * 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; + + /** + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private PrepaidCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard( + this.bankTerms, this.extraParams, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.PrepaidCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.PrepaidCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.PrepaidCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.Platform#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.PrepaidCard.Platform#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * 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; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures); + } + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FifthThird { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Fifth + * Third as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing charge cards with Fifth Third + * as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private FifthThird( + ApplePay applePay, ChargeCard chargeCard, Map extraParams) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApplePay applePay; + + private ChargeCard chargeCard; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird(this.applePay, this.chargeCard, this.extraParams); + } + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Fifth + * Third as BIN sponsor. + */ + public Builder setApplePay( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .FifthThird.ApplePay + applePay) { + this.applePay = applePay; + return this; + } + + /** + * Terms of service acceptances for commercial issuing charge cards with Fifth Third + * as BIN sponsor. + */ + public Builder setChargeCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .FifthThird.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private ApplePay( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ApplePay + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ApplePay#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ApplePay#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * 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; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Fifth Third as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard( + this.bankTerms, this.extraParams, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Fifth + * Third as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Fifth Third as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.FifthThird.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - /** Terms of service acceptances for Stripe commercial card Global issuing. */ - @SerializedName("global_account_holder") - GlobalAccountHolder globalAccountHolder; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - /** - * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. - */ - @SerializedName("lead") - Lead lead; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; - private Commercial( - AccountHolder accountHolder, - Celtic celtic, - CrossRiverBank crossRiverBank, - Map extraParams, - GlobalAccountHolder globalAccountHolder, - Lead lead) { - this.accountHolder = accountHolder; - this.celtic = celtic; - this.crossRiverBank = crossRiverBank; - this.extraParams = extraParams; - this.globalAccountHolder = globalAccountHolder; - this.lead = lead; - } + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; - public static class Builder { - private AccountHolder accountHolder; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; - private Celtic celtic; + private Platform( + java.time.Instant date, + Map extraParams, + Object ip, + Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - private CrossRiverBank crossRiverBank; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private java.time.Instant date; - private GlobalAccountHolder globalAccountHolder; + private Map extraParams; - private Lead lead; + private Object ip; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial( - this.accountHolder, - this.celtic, - this.crossRiverBank, - this.extraParams, - this.globalAccountHolder, - this.lead); - } + private Object userAgent; - /** Terms of service acceptances for Stripe commercial card issuing. */ - public Builder setAccountHolder( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .AccountHolder - accountHolder) { - this.accountHolder = accountHolder; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.FifthThird.ChargeCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.FifthThird.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * Terms of service acceptances for commercial issuing cards with Celtic as BIN - * sponsor. - */ - public Builder setCeltic( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic - celtic) { - this.celtic = celtic; - return this; - } + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } - /** - * Terms of service acceptances for commercial issuing cards with Cross River Bank as - * BIN sponsor. - */ - public Builder setCrossRiverBank( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank - crossRiverBank) { - this.crossRiverBank = crossRiverBank; - 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.FifthThird.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** Terms of service acceptances for Stripe commercial card Global issuing. */ - public Builder setGlobalAccountHolder( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .GlobalAccountHolder - globalAccountHolder) { - this.globalAccountHolder = globalAccountHolder; - return this; - } + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - /** - * Terms of service acceptances for commercial issuing cards with Lead as BIN sponsor. - */ - public Builder setLead( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Lead - lead) { - this.lead = lead; - return this; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class AccountHolder { + public static class GlobalAccountHolder { /** * The time when the Account's representative accepted the terms of service. * Represented as a RFC 3339 date & time UTC value in millisecond precision, for @@ -15384,7 +20071,7 @@ public static class AccountHolder { @SerializedName("user_agent") Object userAgent; - private AccountHolder( + private GlobalAccountHolder( java.time.Instant date, Map extraParams, Object ip, @@ -15410,10 +20097,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.AccountHolder + .Commercial.GlobalAccountHolder build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.AccountHolder( + .Commercial.GlobalAccountHolder( this.date, this.extraParams, this.ip, this.userAgent); } @@ -15431,7 +20118,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -15446,7 +20133,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -15497,21 +20184,14 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Celtic { + public static class Lead { /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as * BIN sponsor. */ @SerializedName("apple_pay") ApplePay applePay; - /** - * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN - * sponsor. - */ - @SerializedName("charge_card") - ChargeCard chargeCard; - /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -15523,21 +20203,17 @@ public static class Celtic { Map extraParams; /** - * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * Terms of service acceptances for commercial issuing prepaid cards with Lead as BIN * sponsor. */ - @SerializedName("spend_card") - SpendCard spendCard; + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private Celtic( - ApplePay applePay, - ChargeCard chargeCard, - Map extraParams, - SpendCard spendCard) { + private Lead( + ApplePay applePay, Map extraParams, PrepaidCard prepaidCard) { this.applePay = applePay; - this.chargeCard = chargeCard; this.extraParams = extraParams; - this.spendCard = spendCard; + this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -15547,50 +20223,35 @@ public static Builder builder() { public static class Builder { private ApplePay applePay; - private ChargeCard chargeCard; - private Map extraParams; - private SpendCard spendCard; + private PrepaidCard prepaidCard; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic + .Commercial.Lead build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic( - this.applePay, this.chargeCard, this.extraParams, this.spendCard); + .Commercial.Lead(this.applePay, this.extraParams, this.prepaidCard); } /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic - * as BIN sponsor. + * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as + * BIN sponsor. */ public Builder setApplePay( AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic.ApplePay + .Lead.ApplePay applePay) { this.applePay = applePay; return this; } - /** - * Terms of service acceptances for commercial issuing charge cards with Celtic as - * BIN sponsor. - */ - public Builder setChargeCard( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic.ChargeCard - chargeCard) { - this.chargeCard = chargeCard; - return this; - } - /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -15605,185 +20266,40 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Terms of service acceptances for commercial issuing spend cards with Celtic as - * BIN sponsor. - */ - public Builder setSpendCard( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .Celtic.SpendCard - spendCard) { - this.spendCard = spendCard; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ApplePay { - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, for - * example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; - - /** - * 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 IP address from which the Account's representative accepted the terms of - * service. - */ - @SerializedName("ip") - Object ip; - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - Object userAgent; - - private ApplePay( - java.time.Instant date, - Map extraParams, - Object ip, - Object 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 java.time.Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ApplePay - build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ApplePay( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#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 Account's representative accepted the terms of - * service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The IP address from which the Account's representative accepted the terms of - * service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } + /** + * Terms of service acceptances for commercial issuing prepaid cards with Lead as + * BIN sponsor. + */ + public Builder setPrepaidCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Lead.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ChargeCard { + public static class ApplePay { /** - * Bank terms of service acceptance for commercial issuing charge cards with Celtic - * as BIN sponsor. + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. */ - @SerializedName("bank_terms") - BankTerms bankTerms; + @SerializedName("date") + java.time.Instant date; /** * Map of extra parameters for custom features not available in this client library. @@ -15796,17 +20312,28 @@ public static class ChargeCard { Map extraParams; /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Celtic as BIN sponsor. + * The IP address from which the Account's representative accepted the terms of + * service. */ - @SerializedName("platform") - Platform platform; + @SerializedName("ip") + Object ip; - private ChargeCard( - BankTerms bankTerms, Map extraParams, Platform platform) { - this.bankTerms = bankTerms; + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private ApplePay( + java.time.Instant date, + Map extraParams, + Object ip, + Object userAgent) { + this.date = date; this.extraParams = extraParams; - this.platform = platform; + this.ip = ip; + this.userAgent = userAgent; } public static Builder builder() { @@ -15814,374 +20341,106 @@ public static Builder builder() { } public static class Builder { - private BankTerms bankTerms; - - private Map extraParams; - - private Platform platform; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard - build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard( - this.bankTerms, this.extraParams, this.platform); - } - - /** - * Bank terms of service acceptance for commercial issuing charge cards with - * Celtic as BIN sponsor. - */ - public Builder setBankTerms( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.BankTerms - bankTerms) { - this.bankTerms = bankTerms; - 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Celtic as BIN sponsor. - */ - public Builder setPlatform( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.Platform - platform) { - this.platform = platform; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankTerms { - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; - - /** - * 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 IP address from which the Account's representative accepted the terms of - * service. - */ - @SerializedName("ip") - Object ip; - - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - Object userAgent; - - private BankTerms( - java.time.Instant date, - Map extraParams, - Object ip, - Object 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 java.time.Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.BankTerms - build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.ChargeCard.BankTerms( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#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 Account's representative accepted the terms of - * service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + private java.time.Instant date; - /** - * The IP address from which the Account's representative accepted the terms of - * service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + private Map extraParams; - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + private Object ip; - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Lead.ApplePay + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Lead.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Platform { /** * The time when the Account's representative accepted the terms of service. * Represented as a RFC 3339 date & time UTC value in millisecond precision, * for example: 2022-09-18T13:22:18.123Z. */ - @SerializedName("date") - java.time.Instant date; + public Builder setDate(java.time.Instant date) { + this.date = date; + return this; + } /** - * Map of extra parameters for custom features not available in this client - * library. The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-level field (serialized) name in this param object. - * Effectively, this map is flattened to its parent instance. + * 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} + * for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#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 Account's representative accepted the terms of * service. */ - @SerializedName("ip") - Object ip; + public Builder setIp(String ip) { + this.ip = ip; + return this; + } /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. + * The IP address from which the Account's representative accepted the terms of + * service. */ - @SerializedName("user_agent") - Object userAgent; - - private Platform( - java.time.Instant date, - Map extraParams, - Object ip, - Object userAgent) { - this.date = date; - this.extraParams = extraParams; + public Builder setIp(EmptyParam ip) { this.ip = ip; - this.userAgent = userAgent; + return this; } - public static Builder builder() { - return new Builder(); + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; } - public static class Builder { - private java.time.Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.ChargeCard.Platform - build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.ChargeCard.Platform( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#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 Account's representative accepted the terms of - * service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The IP address from which the Account's representative accepted the terms of - * service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class SpendCard { + public static class PrepaidCard { /** - * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * Bank terms of service acceptance for commercial issuing prepaid cards with Lead * as BIN sponsor. */ @SerializedName("bank_terms") @@ -16198,27 +20457,16 @@ public static class SpendCard { Map extraParams; /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Celtic as BIN sponsor. - */ - @SerializedName("financing_disclosures") - FinancingDisclosures financingDisclosures; - - /** - * Platform terms of service acceptance for commercial issuing spend cards with - * Celtic as BIN sponsor. + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Lead as BIN sponsor. */ @SerializedName("platform") Platform platform; - private SpendCard( - BankTerms bankTerms, - Map extraParams, - FinancingDisclosures financingDisclosures, - Platform platform) { + private PrepaidCard( + BankTerms bankTerms, Map extraParams, Platform platform) { this.bankTerms = bankTerms; this.extraParams = extraParams; - this.financingDisclosures = financingDisclosures; this.platform = platform; } @@ -16231,26 +20479,24 @@ public static class Builder { private Map extraParams; - private FinancingDisclosures financingDisclosures; - private Platform platform; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard + .Commercial.Lead.PrepaidCard build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard( - this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + .Commercial.Lead.PrepaidCard( + this.bankTerms, this.extraParams, this.platform); } /** - * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * Bank terms of service acceptance for commercial issuing prepaid cards with Lead * as BIN sponsor. */ public Builder setBankTerms( AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.BankTerms + .Commercial.Lead.PrepaidCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -16260,7 +20506,7 @@ public Builder setBankTerms( * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16275,7 +20521,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16287,24 +20533,12 @@ public Builder putAllExtraParam(Map map) { } /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Celtic as BIN sponsor. - */ - public Builder setFinancingDisclosures( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.FinancingDisclosures - financingDisclosures) { - this.financingDisclosures = financingDisclosures; - return this; - } - - /** - * Platform terms of service acceptance for commercial issuing spend cards with - * Celtic as BIN sponsor. + * Platform terms of service acceptance for commercial issuing prepaid cards with + * Lead as BIN sponsor. */ public Builder setPlatform( AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.Platform + .Commercial.Lead.PrepaidCard.Platform platform) { this.platform = platform; return this; @@ -16372,10 +20606,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.BankTerms + .Commercial.Lead.PrepaidCard.BankTerms build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.SpendCard.BankTerms( + .CardCreator.Commercial.Lead.PrepaidCard.BankTerms( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16393,7 +20627,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16408,7 +20642,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16459,7 +20693,7 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancingDisclosures { + public static class Platform { /** * The time when the Account's representative accepted the terms of service. * Represented as a RFC 3339 date & time UTC value in millisecond precision, @@ -16492,7 +20726,7 @@ public static class FinancingDisclosures { @SerializedName("user_agent") Object userAgent; - private FinancingDisclosures( + private Platform( java.time.Instant date, Map extraParams, Object ip, @@ -16518,10 +20752,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.FinancingDisclosures + .Commercial.Lead.PrepaidCard.Platform build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures( + .CardCreator.Commercial.Lead.PrepaidCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16539,7 +20773,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16554,7 +20788,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16602,172 +20836,330 @@ public Builder setUserAgent(EmptyParam userAgent) { } } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Platform { - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - java.time.Instant date; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Consumer { + /** Terms of service acceptances for Stripe consumer card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; - /** - * 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; + /** + * Terms of service acceptances for consumer issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") + Celtic celtic; - /** - * The IP address from which the Account's representative accepted the terms of - * service. - */ - @SerializedName("ip") - Object ip; + /** + * Terms of service acceptances for consumer issuing cards with Cross River Bank as BIN + * sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; - /** - * The user agent of the browser from which the Account's representative accepted - * the terms of service. - */ - @SerializedName("user_agent") - Object userAgent; + /** + * 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 Platform( - java.time.Instant date, - Map extraParams, - Object ip, - Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** Terms of service acceptances for Stripe consumer card Global issuing. */ + @SerializedName("global_account_holder") + GlobalAccountHolder globalAccountHolder; - public static Builder builder() { - return new Builder(); - } + /** Terms of service acceptances for consumer issuing cards with Lead as BIN sponsor. */ + @SerializedName("lead") + Lead lead; + + private Consumer( + AccountHolder accountHolder, + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + GlobalAccountHolder globalAccountHolder, + Lead lead) { + this.accountHolder = accountHolder; + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.globalAccountHolder = globalAccountHolder; + this.lead = lead; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AccountHolder accountHolder; + + private Celtic celtic; + + private CrossRiverBank crossRiverBank; + + private Map extraParams; + + private GlobalAccountHolder globalAccountHolder; + + private Lead lead; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer( + this.accountHolder, + this.celtic, + this.crossRiverBank, + this.extraParams, + this.globalAccountHolder, + this.lead); + } + + /** Terms of service acceptances for Stripe consumer card issuing. */ + public Builder setAccountHolder( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .AccountHolder + accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Terms of service acceptances for consumer issuing cards with Celtic as BIN sponsor. + */ + public Builder setCeltic( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic + celtic) { + this.celtic = celtic; + return this; + } + + /** + * Terms of service acceptances for consumer issuing cards with Cross River Bank as + * BIN sponsor. + */ + public Builder setCrossRiverBank( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Terms of service acceptances for Stripe consumer card Global issuing. */ + public Builder setGlobalAccountHolder( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .GlobalAccountHolder + globalAccountHolder) { + this.globalAccountHolder = globalAccountHolder; + return this; + } + + /** + * Terms of service acceptances for consumer issuing cards with Lead as BIN sponsor. + */ + public Builder setLead( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead + lead) { + this.lead = lead; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private AccountHolder( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + public static class Builder { + private java.time.Instant date; - private Map extraParams; + private Map extraParams; - private Object ip; + private Object ip; - private Object userAgent; + private Object userAgent; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Celtic.SpendCard.Platform - build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Celtic.SpendCard.Platform( - this.date, this.extraParams, this.ip, this.userAgent); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .AccountHolder + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.AccountHolder(this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * The time when the Account's representative accepted the terms of service. - * Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(java.time.Instant date) { - this.date = date; - return this; - } + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.AccountHolder#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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.AccountHolder#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 Account's representative accepted the terms of - * service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * The IP address from which the Account's representative accepted the terms of - * service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - /** - * The user agent of the browser from which the Account's representative - * accepted the terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CrossRiverBank { + public static class Celtic { /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Cross - * River Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing Apple Pay cards with Celtic as + * BIN sponsor. */ @SerializedName("apple_pay") ApplePay applePay; - /** - * Terms of service acceptances for commercial issuing charge cards with Cross River - * Bank as BIN sponsor. - */ - @SerializedName("charge_card") - ChargeCard chargeCard; - /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -16779,21 +21171,19 @@ public static class CrossRiverBank { Map extraParams; /** - * Terms of service acceptances for commercial issuing spend cards with Cross River - * Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing revolving credit cards with + * Celtic as BIN sponsor. */ - @SerializedName("spend_card") - SpendCard spendCard; + @SerializedName("revolving_credit_card") + RevolvingCreditCard revolvingCreditCard; - private CrossRiverBank( + private Celtic( ApplePay applePay, - ChargeCard chargeCard, Map extraParams, - SpendCard spendCard) { + RevolvingCreditCard revolvingCreditCard) { this.applePay = applePay; - this.chargeCard = chargeCard; this.extraParams = extraParams; - this.spendCard = spendCard; + this.revolvingCreditCard = revolvingCreditCard; } public static Builder builder() { @@ -16803,50 +21193,35 @@ public static Builder builder() { public static class Builder { private ApplePay applePay; - private ChargeCard chargeCard; - private Map extraParams; - private SpendCard spendCard; + private RevolvingCreditCard revolvingCreditCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank( - this.applePay, this.chargeCard, this.extraParams, this.spendCard); + .Consumer.Celtic(this.applePay, this.extraParams, this.revolvingCreditCard); } /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Cross - * River Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing Apple Pay cards with Celtic as + * BIN sponsor. */ public Builder setApplePay( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank.ApplePay + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.ApplePay applePay) { this.applePay = applePay; return this; } - /** - * Terms of service acceptances for commercial issuing charge cards with Cross River - * Bank as BIN sponsor. - */ - public Builder setChargeCard( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank.ChargeCard - chargeCard) { - this.chargeCard = chargeCard; - return this; - } - /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16861,7 +21236,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16873,14 +21248,14 @@ public Builder putAllExtraParam(Map map) { } /** - * Terms of service acceptances for commercial issuing spend cards with Cross River - * Bank as BIN sponsor. + * Terms of service acceptances for consumer issuing revolving credit cards with + * Celtic as BIN sponsor. */ - public Builder setSpendCard( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial - .CrossRiverBank.SpendCard - spendCard) { - this.spendCard = spendCard; + public Builder setRevolvingCreditCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard + revolvingCreditCard) { + this.revolvingCreditCard = revolvingCreditCard; return this; } } @@ -16946,10 +21321,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ApplePay + .Consumer.Celtic.ApplePay build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ApplePay( + .Consumer.Celtic.ApplePay( this.date, this.extraParams, this.ip, this.userAgent); } @@ -16967,7 +21342,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.ApplePay#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16982,7 +21357,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.ApplePay#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17033,10 +21408,10 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ChargeCard { + public static class RevolvingCreditCard { /** - * Bank terms of service acceptance for commercial issuing charge cards with Cross - * River Bank as BIN sponsor. + * Bank terms of service acceptance for consumer issuing spend cards with Celtic as + * BIN sponsor. */ @SerializedName("bank_terms") BankTerms bankTerms; @@ -17052,20 +21427,20 @@ public static class ChargeCard { Map extraParams; /** - * Financial disclosures terms of service acceptance for commercial issuing charge - * cards with Cross River Bank as BIN sponsor. + * Financial disclosures terms of service acceptance for consumer issuing spend + * cards with Celtic as BIN sponsor. */ @SerializedName("financing_disclosures") FinancingDisclosures financingDisclosures; /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Cross River Bank as BIN sponsor. + * Platform terms of service acceptance for consumer issuing spend cards with Celtic + * as BIN sponsor. */ @SerializedName("platform") Platform platform; - private ChargeCard( + private RevolvingCreditCard( BankTerms bankTerms, Map extraParams, FinancingDisclosures financingDisclosures, @@ -17091,20 +21466,20 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard + .Consumer.Celtic.RevolvingCreditCard build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard( + .Consumer.Celtic.RevolvingCreditCard( this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); } /** - * Bank terms of service acceptance for commercial issuing charge cards with Cross - * River Bank as BIN sponsor. + * Bank terms of service acceptance for consumer issuing spend cards with Celtic + * as BIN sponsor. */ public Builder setBankTerms( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.BankTerms + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -17114,7 +21489,7 @@ public Builder setBankTerms( * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17129,7 +21504,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17141,24 +21516,24 @@ public Builder putAllExtraParam(Map map) { } /** - * Financial disclosures terms of service acceptance for commercial issuing charge - * cards with Cross River Bank as BIN sponsor. + * Financial disclosures terms of service acceptance for consumer issuing spend + * cards with Celtic as BIN sponsor. */ public Builder setFinancingDisclosures( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard.FinancingDisclosures financingDisclosures) { this.financingDisclosures = financingDisclosures; return this; } /** - * Platform terms of service acceptance for commercial issuing charge cards with - * Cross River Bank as BIN sponsor. + * Platform terms of service acceptance for consumer issuing spend cards with + * Celtic as BIN sponsor. */ public Builder setPlatform( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.Platform + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Celtic.RevolvingCreditCard.Platform platform) { this.platform = platform; return this; @@ -17226,10 +21601,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.BankTerms + .Consumer.Celtic.RevolvingCreditCard.BankTerms build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms( + .CardCreator.Consumer.Celtic.RevolvingCreditCard.BankTerms( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17247,7 +21622,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.BankTerms#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17262,7 +21637,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.BankTerms#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17372,10 +21747,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + .Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures( + .CardCreator.Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17393,7 +21768,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17408,7 +21783,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17518,10 +21893,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.ChargeCard.Platform + .Consumer.Celtic.RevolvingCreditCard.Platform build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform( + .CardCreator.Consumer.Celtic.RevolvingCreditCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17539,7 +21914,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17554,7 +21929,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Celtic.RevolvingCreditCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17603,12 +21978,98 @@ public Builder setUserAgent(EmptyParam userAgent) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** + * 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; + + /** + * Terms of service acceptances for consumer issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + private CrossRiverBank(Map extraParams, PrepaidCard prepaidCard) { + this.extraParams = extraParams; + this.prepaidCard = prepaidCard; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PrepaidCard prepaidCard; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.CrossRiverBank(this.extraParams, this.prepaidCard); + } + + /** + * 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for consumer issuing prepaid cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setPrepaidCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class SpendCard { + public static class PrepaidCard { /** - * Bank terms of service acceptance for commercial issuing spend cards with Cross + * Bank terms of service acceptance for consumer issuing prepaid cards with Cross * River Bank as BIN sponsor. */ @SerializedName("bank_terms") @@ -17625,19 +22086,28 @@ public static class SpendCard { Map extraParams; /** - * Financial disclosures terms of service acceptance for commercial issuing spend + * Financial disclosures terms of service acceptance for consumer issuing prepaid * cards with Cross River Bank as BIN sponsor. */ @SerializedName("financing_disclosures") FinancingDisclosures financingDisclosures; - private SpendCard( + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private PrepaidCard( BankTerms bankTerms, Map extraParams, - FinancingDisclosures financingDisclosures) { + FinancingDisclosures financingDisclosures, + Platform platform) { this.bankTerms = bankTerms; this.extraParams = extraParams; this.financingDisclosures = financingDisclosures; + this.platform = platform; } public static Builder builder() { @@ -17651,22 +22121,24 @@ public static class Builder { private FinancingDisclosures financingDisclosures; + private Platform platform; + /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard + .Consumer.CrossRiverBank.PrepaidCard build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard( - this.bankTerms, this.extraParams, this.financingDisclosures); + .Consumer.CrossRiverBank.PrepaidCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); } /** - * Bank terms of service acceptance for commercial issuing spend cards with Cross + * Bank terms of service acceptance for consumer issuing prepaid cards with Cross * River Bank as BIN sponsor. */ public Builder setBankTerms( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.BankTerms + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -17676,7 +22148,7 @@ public Builder setBankTerms( * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17691,33 +22163,191 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } - this.extraParams.putAll(map); - return this; - } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .CrossRiverBank.PrepaidCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.CrossRiverBank.PrepaidCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Consumer.CrossRiverBank.PrepaidCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.BankTerms#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - /** - * Financial disclosures terms of service acceptance for commercial issuing spend - * cards with Cross River Bank as BIN sponsor. - */ - public Builder setFinancingDisclosures( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures - financingDisclosures) { - this.financingDisclosures = financingDisclosures; - return this; + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankTerms { + public static class FinancingDisclosures { /** * The time when the Account's representative accepted the terms of service. * Represented as a RFC 3339 date & time UTC value in millisecond precision, @@ -17750,7 +22380,7 @@ public static class BankTerms { @SerializedName("user_agent") Object userAgent; - private BankTerms( + private FinancingDisclosures( java.time.Instant date, Map extraParams, Object ip, @@ -17776,10 +22406,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.BankTerms + .Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms( + .CardCreator.Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17797,7 +22427,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17812,7 +22442,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -17863,7 +22493,7 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancingDisclosures { + public static class Platform { /** * The time when the Account's representative accepted the terms of service. * Represented as a RFC 3339 date & time UTC value in millisecond precision, @@ -17896,7 +22526,7 @@ public static class FinancingDisclosures { @SerializedName("user_agent") Object userAgent; - private FinancingDisclosures( + private Platform( java.time.Instant date, Map extraParams, Object ip, @@ -17922,10 +22552,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + .Consumer.CrossRiverBank.PrepaidCard.Platform build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures( + .CardCreator.Consumer.CrossRiverBank.PrepaidCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -17943,7 +22573,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -17958,7 +22588,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.CrossRiverBank.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18069,11 +22699,11 @@ public static class Builder { private Object userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.GlobalAccountHolder + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .GlobalAccountHolder build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.GlobalAccountHolder( + .Consumer.GlobalAccountHolder( this.date, this.extraParams, this.ip, this.userAgent); } @@ -18091,7 +22721,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18106,7 +22736,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.GlobalAccountHolder#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.GlobalAccountHolder#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18159,8 +22789,8 @@ public Builder setUserAgent(EmptyParam userAgent) { @EqualsAndHashCode(callSuper = false) public static class Lead { /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as - * BIN sponsor. + * Terms of service acceptances for consumer issuing Apple Pay cards with Lead as BIN + * sponsor. */ @SerializedName("apple_pay") ApplePay applePay; @@ -18176,7 +22806,7 @@ public static class Lead { Map extraParams; /** - * Terms of service acceptances for commercial issuing prepaid cards with Lead as BIN + * Terms of service acceptances for consumer issuing prepaid cards with Lead as BIN * sponsor. */ @SerializedName("prepaid_card") @@ -18201,19 +22831,19 @@ public static class Builder { private PrepaidCard prepaidCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead(this.applePay, this.extraParams, this.prepaidCard); + .Consumer.Lead(this.applePay, this.extraParams, this.prepaidCard); } /** - * Terms of service acceptances for commercial issuing Apple Pay cards with Lead as + * Terms of service acceptances for consumer issuing Apple Pay cards with Lead as * BIN sponsor. */ public Builder setApplePay( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer .Lead.ApplePay applePay) { this.applePay = applePay; @@ -18224,7 +22854,7 @@ public Builder setApplePay( * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18239,7 +22869,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18251,11 +22881,11 @@ public Builder putAllExtraParam(Map map) { } /** - * Terms of service acceptances for commercial issuing prepaid cards with Lead as - * BIN sponsor. + * Terms of service acceptances for consumer issuing prepaid cards with Lead as BIN + * sponsor. */ public Builder setPrepaidCard( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer .Lead.PrepaidCard prepaidCard) { this.prepaidCard = prepaidCard; @@ -18324,10 +22954,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.ApplePay + .Consumer.Lead.ApplePay build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.ApplePay( + .Consumer.Lead.ApplePay( this.date, this.extraParams, this.ip, this.userAgent); } @@ -18345,7 +22975,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.ApplePay#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18360,7 +22990,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.ApplePay#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.ApplePay#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18413,8 +23043,8 @@ public Builder setUserAgent(EmptyParam userAgent) { @EqualsAndHashCode(callSuper = false) public static class PrepaidCard { /** - * Bank terms of service acceptance for commercial issuing prepaid cards with Lead - * as BIN sponsor. + * Bank terms of service acceptance for consumer issuing prepaid cards with Lead as + * BIN sponsor. */ @SerializedName("bank_terms") BankTerms bankTerms; @@ -18430,16 +23060,27 @@ public static class PrepaidCard { Map extraParams; /** - * Platform terms of service acceptance for commercial issuing prepaid cards with - * Lead as BIN sponsor. + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Lead as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with Lead + * as BIN sponsor. */ @SerializedName("platform") Platform platform; private PrepaidCard( - BankTerms bankTerms, Map extraParams, Platform platform) { + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { this.bankTerms = bankTerms; this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; this.platform = platform; } @@ -18452,24 +23093,26 @@ public static class Builder { private Map extraParams; + private FinancingDisclosures financingDisclosures; + private Platform platform; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard + .Consumer.Lead.PrepaidCard build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard( - this.bankTerms, this.extraParams, this.platform); + .Consumer.Lead.PrepaidCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); } /** - * Bank terms of service acceptance for commercial issuing prepaid cards with Lead + * Bank terms of service acceptance for consumer issuing prepaid cards with Lead * as BIN sponsor. */ public Builder setBankTerms( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.BankTerms + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard.BankTerms bankTerms) { this.bankTerms = bankTerms; return this; @@ -18479,7 +23122,7 @@ public Builder setBankTerms( * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18494,7 +23137,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18506,12 +23149,24 @@ public Builder putAllExtraParam(Map map) { } /** - * Platform terms of service acceptance for commercial issuing prepaid cards with + * Financial disclosures terms of service acceptance for consumer issuing prepaid + * cards with Lead as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for consumer issuing prepaid cards with * Lead as BIN sponsor. */ public Builder setPlatform( - AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.Platform + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer + .Lead.PrepaidCard.Platform platform) { this.platform = platform; return this; @@ -18579,10 +23234,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.BankTerms + .Consumer.Lead.PrepaidCard.BankTerms build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Lead.PrepaidCard.BankTerms( + .CardCreator.Consumer.Lead.PrepaidCard.BankTerms( this.date, this.extraParams, this.ip, this.userAgent); } @@ -18600,7 +23255,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.BankTerms#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18615,7 +23270,153 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.BankTerms#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.BankTerms#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 Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + java.time.Instant date; + + /** + * 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 IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + java.time.Instant date, + Map extraParams, + Object ip, + Object 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 java.time.Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Consumer.Lead.PrepaidCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Consumer.Lead.PrepaidCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(java.time.Instant 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.FinancingDisclosures#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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.FinancingDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18725,10 +23526,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator - .Commercial.Lead.PrepaidCard.Platform + .Consumer.Lead.PrepaidCard.Platform build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .CardCreator.Commercial.Lead.PrepaidCard.Platform( + .CardCreator.Consumer.Lead.PrepaidCard.Platform( this.date, this.extraParams, this.ip, this.userAgent); } @@ -18746,7 +23547,7 @@ public Builder setDate(java.time.Instant date) { * 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 - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18761,7 +23562,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for * the first `put/putAll` call, and subsequent calls add additional key/value * pairs to the original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Lead.PrepaidCard.Platform#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Consumer.Lead.PrepaidCard.Platform#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { diff --git a/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java b/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java index 33119e716fb..1cbb2ac66be 100644 --- a/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java +++ b/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java @@ -50,10 +50,17 @@ public class OffSessionPaymentCreateParams extends ApiRequestParams { @SerializedName("on_behalf_of") String onBehalfOf; - /** Required. ID of the payment method used in this OffSessionPayment. */ + /** ID of the payment method used in this OffSessionPayment. */ @SerializedName("payment_method") String paymentMethod; + /** + * If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will + * appear in the payment_method property on the OffSessionPayment. + */ + @SerializedName("payment_method_data") + PaymentMethodData paymentMethodData; + /** Payment method options for the off-session payment. */ @SerializedName("payment_method_options") PaymentMethodOptions paymentMethodOptions; @@ -106,6 +113,7 @@ private OffSessionPaymentCreateParams( Map metadata, String onBehalfOf, String paymentMethod, + PaymentMethodData paymentMethodData, PaymentMethodOptions paymentMethodOptions, PaymentsOrchestration paymentsOrchestration, RetryDetails retryDetails, @@ -121,6 +129,7 @@ private OffSessionPaymentCreateParams( this.metadata = metadata; this.onBehalfOf = onBehalfOf; this.paymentMethod = paymentMethod; + this.paymentMethodData = paymentMethodData; this.paymentMethodOptions = paymentMethodOptions; this.paymentsOrchestration = paymentsOrchestration; this.retryDetails = retryDetails; @@ -151,6 +160,8 @@ public static class Builder { private String paymentMethod; + private PaymentMethodData paymentMethodData; + private PaymentMethodOptions paymentMethodOptions; private PaymentsOrchestration paymentsOrchestration; @@ -176,6 +187,7 @@ public OffSessionPaymentCreateParams build() { this.metadata, this.onBehalfOf, this.paymentMethod, + this.paymentMethodData, this.paymentMethodOptions, this.paymentsOrchestration, this.retryDetails, @@ -267,12 +279,22 @@ public Builder setOnBehalfOf(String onBehalfOf) { return this; } - /** Required. ID of the payment method used in this OffSessionPayment. */ + /** ID of the payment method used in this OffSessionPayment. */ public Builder setPaymentMethod(String paymentMethod) { this.paymentMethod = paymentMethod; return this; } + /** + * If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will + * appear in the payment_method property on the OffSessionPayment. + */ + public Builder setPaymentMethodData( + OffSessionPaymentCreateParams.PaymentMethodData paymentMethodData) { + this.paymentMethodData = paymentMethodData; + return this; + } + /** Payment method options for the off-session payment. */ public Builder setPaymentMethodOptions( OffSessionPaymentCreateParams.PaymentMethodOptions paymentMethodOptions) { @@ -515,6 +537,519 @@ public enum CaptureMethod implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaymentMethodData { + /** Billing information associated with the payment method. */ + @SerializedName("billing_details") + BillingDetails billingDetails; + + /** + * Contains card details that can be used to create a card PaymentMethod for PCI compliant + * users. + */ + @SerializedName("card") + Card card; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The type of the PaymentMethod. An additional hash is included on + * the PaymentMethod with a name matching this value. It contains additional information + * specific to the PaymentMethod type. + */ + @SerializedName("type") + Type type; + + private PaymentMethodData( + BillingDetails billingDetails, Card card, Map extraParams, Type type) { + this.billingDetails = billingDetails; + this.card = card; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BillingDetails billingDetails; + + private Card card; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public OffSessionPaymentCreateParams.PaymentMethodData build() { + return new OffSessionPaymentCreateParams.PaymentMethodData( + this.billingDetails, this.card, this.extraParams, this.type); + } + + /** Billing information associated with the payment method. */ + public Builder setBillingDetails( + OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails billingDetails) { + this.billingDetails = billingDetails; + return this; + } + + /** + * Contains card details that can be used to create a card PaymentMethod for PCI compliant + * users. + */ + public Builder setCard(OffSessionPaymentCreateParams.PaymentMethodData.Card card) { + this.card = card; + 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 + * OffSessionPaymentCreateParams.PaymentMethodData#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 OffSessionPaymentCreateParams.PaymentMethodData#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The type of the PaymentMethod. An additional hash is included on + * the PaymentMethod with a name matching this value. It contains additional information + * specific to the PaymentMethod type. + */ + public Builder setType(OffSessionPaymentCreateParams.PaymentMethodData.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingDetails { + /** Billing address. */ + @SerializedName("address") + Address address; + + /** Email address. */ + @SerializedName("email") + String email; + + /** + * 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; + + /** Full name. */ + @SerializedName("name") + String name; + + /** Billing phone number (including extension). */ + @SerializedName("phone") + String phone; + + private BillingDetails( + Address address, + String email, + Map extraParams, + String name, + String phone) { + this.address = address; + this.email = email; + this.extraParams = extraParams; + this.name = name; + this.phone = phone; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Address address; + + private String email; + + private Map extraParams; + + private String name; + + private String phone; + + /** Finalize and obtain parameter instance from this builder. */ + public OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails build() { + return new OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails( + this.address, this.email, this.extraParams, this.name, this.phone); + } + + /** Billing address. */ + public Builder setAddress( + OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails.Address address) { + this.address = address; + return this; + } + + /** Email address. */ + public Builder setEmail(String email) { + this.email = email; + 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 + * OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails#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 + * OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Full name. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Billing phone number (including extension). */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** Two-letter country code (ISO 3166-1 alpha-2). */ + @SerializedName("country") + String country; + + /** + * 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; + + /** Address line 1, such as the street, PO Box, or company name. */ + @SerializedName("line1") + String line1; + + /** Address line 2, such as the apartment, suite, unit, or building. */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region (ISO 3166-2). */ + @SerializedName("state") + String state; + + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails.Address build() { + return new OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** Two-letter country code (ISO 3166-1 alpha-2). */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails.Address#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * OffSessionPaymentCreateParams.PaymentMethodData.BillingDetails.Address#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1, such as the street, PO Box, or company name. */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2, such as the apartment, suite, unit, or building. */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region (ISO 3166-2). */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Card { + /** The card CVC. */ + @SerializedName("cvc") + String cvc; + + /** Required. The card expiration month. */ + @SerializedName("exp_month") + String expMonth; + + /** Required. The card expiration year. */ + @SerializedName("exp_year") + String expYear; + + /** + * 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 card number. */ + @SerializedName("number") + String number; + + private Card( + String cvc, + String expMonth, + String expYear, + Map extraParams, + String number) { + this.cvc = cvc; + this.expMonth = expMonth; + this.expYear = expYear; + this.extraParams = extraParams; + this.number = number; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String cvc; + + private String expMonth; + + private String expYear; + + private Map extraParams; + + private String number; + + /** Finalize and obtain parameter instance from this builder. */ + public OffSessionPaymentCreateParams.PaymentMethodData.Card build() { + return new OffSessionPaymentCreateParams.PaymentMethodData.Card( + this.cvc, this.expMonth, this.expYear, this.extraParams, this.number); + } + + /** The card CVC. */ + public Builder setCvc(String cvc) { + this.cvc = cvc; + return this; + } + + /** Required. The card expiration month. */ + public Builder setExpMonth(String expMonth) { + this.expMonth = expMonth; + return this; + } + + /** Required. The card expiration year. */ + public Builder setExpYear(String expYear) { + this.expYear = expYear; + 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 OffSessionPaymentCreateParams.PaymentMethodData.Card#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 OffSessionPaymentCreateParams.PaymentMethodData.Card#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 card number. */ + public Builder setNumber(String number) { + this.number = number; + return this; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("card") + CARD("card"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class PaymentMethodOptions { diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java index 69e15aa114e..20e759cbbe2 100644 --- a/src/test/java/com/stripe/functional/GeneratedExamples.java +++ b/src/test/java/com/stripe/functional/GeneratedExamples.java @@ -29918,7 +29918,6 @@ public void testV2PaymentsOffSessionPaymentPostServices() throws StripeException com.stripe.param.v2.payments.OffSessionPaymentCreateParams.Cadence.UNSCHEDULED) .setCustomer("customer") .putMetadata("key", "metadata") - .setPaymentMethod("payment_method") .build(); com.stripe.model.v2.payments.OffSessionPayment offSessionPayment = From 02bd83449a9a8d5bf3199e3ae248754b2ac150f3 Mon Sep 17 00:00:00 2001 From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 12:29:16 +0000 Subject: [PATCH 3/3] Update generated code for v2190 and --- CODEGEN_VERSION | 2 +- .../java/com/stripe/model/v2/billing/Cadence.java | 2 +- .../stripe/model/v2/billing/CollectionSetting.java | 2 +- .../model/v2/billing/CollectionSettingVersion.java | 2 +- .../com/stripe/model/v2/billing/LicenseFee.java | 2 +- .../stripe/model/v2/billing/LicenseFeeVersion.java | 2 +- .../com/stripe/model/v2/billing/RateCardRate.java | 2 +- .../com/stripe/model/v2/reporting/ReportRun.java | 2 +- .../v2/billing/CollectionSettingCreateParams.java | 8 ++++---- .../v2/billing/CollectionSettingUpdateParams.java | 14 ++++---------- .../param/v2/billing/LicenseFeeCreateParams.java | 8 ++++---- .../param/v2/billing/LicenseFeeUpdateParams.java | 14 ++++---------- .../v2/billing/ratecards/RateCreateParams.java | 8 ++++---- 13 files changed, 28 insertions(+), 40 deletions(-) diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index 08298032c91..f5f04d71b05 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -ca2c688052c7535c51858606efdc6855b0c1f6a9 \ No newline at end of file +2feaeea9e3c2b01dd5b7e4092d8364af4bf1e740 \ No newline at end of file diff --git a/src/main/java/com/stripe/model/v2/billing/Cadence.java b/src/main/java/com/stripe/model/v2/billing/Cadence.java index 1f6ba932a67..e8f03b548c4 100644 --- a/src/main/java/com/stripe/model/v2/billing/Cadence.java +++ b/src/main/java/com/stripe/model/v2/billing/Cadence.java @@ -722,7 +722,7 @@ public static class Card extends StripeObject { public static class MandateOptions extends StripeObject { /** Amount to be charged for future payments. */ @SerializedName("amount") - String amount; + Long amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") diff --git a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java index bc0e1db4e6b..4a9be6c5836 100644 --- a/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java +++ b/src/main/java/com/stripe/model/v2/billing/CollectionSetting.java @@ -247,7 +247,7 @@ public static class Card extends StripeObject { public static class MandateOptions extends StripeObject { /** Amount to be charged for future payments. */ @SerializedName("amount") - String amount; + Long amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") diff --git a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java index c552cd14588..fb3cbd49a15 100644 --- a/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java +++ b/src/main/java/com/stripe/model/v2/billing/CollectionSettingVersion.java @@ -226,7 +226,7 @@ public static class Card extends StripeObject { public static class MandateOptions extends StripeObject { /** Amount to be charged for future payments. */ @SerializedName("amount") - String amount; + Long amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") diff --git a/src/main/java/com/stripe/model/v2/billing/LicenseFee.java b/src/main/java/com/stripe/model/v2/billing/LicenseFee.java index b640e8e94ac..41c8f5f1616 100644 --- a/src/main/java/com/stripe/model/v2/billing/LicenseFee.java +++ b/src/main/java/com/stripe/model/v2/billing/LicenseFee.java @@ -196,7 +196,7 @@ public static class Tier extends StripeObject { public static class TransformQuantity extends StripeObject { /** Divide usage by this number. */ @SerializedName("divide_by") - String divideBy; + Long divideBy; /** * After division, round the result up or down. diff --git a/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java b/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java index 5cd3c7d0d2a..57c5b10de47 100644 --- a/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java +++ b/src/main/java/com/stripe/model/v2/billing/LicenseFeeVersion.java @@ -124,7 +124,7 @@ public static class Tier extends StripeObject { public static class TransformQuantity extends StripeObject { /** Divide usage by this number. */ @SerializedName("divide_by") - String divideBy; + Long divideBy; /** * After division, round the result up or down. diff --git a/src/main/java/com/stripe/model/v2/billing/RateCardRate.java b/src/main/java/com/stripe/model/v2/billing/RateCardRate.java index 10e15c1a8ce..baa5841cdaa 100644 --- a/src/main/java/com/stripe/model/v2/billing/RateCardRate.java +++ b/src/main/java/com/stripe/model/v2/billing/RateCardRate.java @@ -167,7 +167,7 @@ public static class Tier extends StripeObject { public static class TransformQuantity extends StripeObject { /** Divide usage by this number. */ @SerializedName("divide_by") - String divideBy; + Long divideBy; /** * After division, round the result up or down. diff --git a/src/main/java/com/stripe/model/v2/reporting/ReportRun.java b/src/main/java/com/stripe/model/v2/reporting/ReportRun.java index cecff97d133..cd086c1cce2 100644 --- a/src/main/java/com/stripe/model/v2/reporting/ReportRun.java +++ b/src/main/java/com/stripe/model/v2/reporting/ReportRun.java @@ -122,7 +122,7 @@ public static class File extends StripeObject { /** The total size of the file in bytes. */ @SerializedName("size") - String size; + Long size; /** A pre-signed URL that allows secure, time-limited access to download the file. */ @Getter diff --git a/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java b/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java index 97665a1394b..a4ae606600f 100644 --- a/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/CollectionSettingCreateParams.java @@ -1016,7 +1016,7 @@ public Builder setRequestThreeDSecure( public static class MandateOptions { /** Amount to be charged for future payments. */ @SerializedName("amount") - String amount; + Long amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") @@ -1037,7 +1037,7 @@ public static class MandateOptions { Map extraParams; private MandateOptions( - String amount, + Long amount, AmountType amountType, String description, Map extraParams) { @@ -1052,7 +1052,7 @@ public static Builder builder() { } public static class Builder { - private String amount; + private Long amount; private AmountType amountType; @@ -1067,7 +1067,7 @@ public CollectionSettingCreateParams.PaymentMethodOptions.Card.MandateOptions bu } /** Amount to be charged for future payments. */ - public Builder setAmount(String amount) { + public Builder setAmount(Long amount) { this.amount = amount; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java b/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java index 5c212d4c4f2..b4eb433b47e 100644 --- a/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/CollectionSettingUpdateParams.java @@ -1088,7 +1088,7 @@ public Builder setRequestThreeDSecure( public static class MandateOptions { /** Amount to be charged for future payments. */ @SerializedName("amount") - Object amount; + Long amount; /** The AmountType for the mandate. One of {@code fixed} or {@code maximum}. */ @SerializedName("amount_type") @@ -1109,7 +1109,7 @@ public static class MandateOptions { Map extraParams; private MandateOptions( - Object amount, + Long amount, AmountType amountType, Object description, Map extraParams) { @@ -1124,7 +1124,7 @@ public static Builder builder() { } public static class Builder { - private Object amount; + private Long amount; private AmountType amountType; @@ -1139,13 +1139,7 @@ public CollectionSettingUpdateParams.PaymentMethodOptions.Card.MandateOptions bu } /** Amount to be charged for future payments. */ - public Builder setAmount(String amount) { - this.amount = amount; - return this; - } - - /** Amount to be charged for future payments. */ - public Builder setAmount(EmptyParam amount) { + public Builder setAmount(Long amount) { this.amount = amount; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java b/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java index c66d9a46d1d..beb736e8731 100644 --- a/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/LicenseFeeCreateParams.java @@ -516,7 +516,7 @@ public enum UpToInf implements ApiRequestParams.EnumParam { public static class TransformQuantity { /** Required. Divide usage by this number. */ @SerializedName("divide_by") - String divideBy; + Long divideBy; /** * Map of extra parameters for custom features not available in this client library. The content @@ -531,7 +531,7 @@ public static class TransformQuantity { @SerializedName("round") Round round; - private TransformQuantity(String divideBy, Map extraParams, Round round) { + private TransformQuantity(Long divideBy, Map extraParams, Round round) { this.divideBy = divideBy; this.extraParams = extraParams; this.round = round; @@ -542,7 +542,7 @@ public static Builder builder() { } public static class Builder { - private String divideBy; + private Long divideBy; private Map extraParams; @@ -555,7 +555,7 @@ public LicenseFeeCreateParams.TransformQuantity build() { } /** Required. Divide usage by this number. */ - public Builder setDivideBy(String divideBy) { + public Builder setDivideBy(Long divideBy) { this.divideBy = divideBy; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java b/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java index 427e0fdd9c9..83a356b9d73 100644 --- a/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/LicenseFeeUpdateParams.java @@ -511,7 +511,7 @@ public enum UpToInf implements ApiRequestParams.EnumParam { public static class TransformQuantity { /** Required. Divide usage by this number. */ @SerializedName("divide_by") - Object divideBy; + Long divideBy; /** * Map of extra parameters for custom features not available in this client library. The content @@ -526,7 +526,7 @@ public static class TransformQuantity { @SerializedName("round") Round round; - private TransformQuantity(Object divideBy, Map extraParams, Round round) { + private TransformQuantity(Long divideBy, Map extraParams, Round round) { this.divideBy = divideBy; this.extraParams = extraParams; this.round = round; @@ -537,7 +537,7 @@ public static Builder builder() { } public static class Builder { - private Object divideBy; + private Long divideBy; private Map extraParams; @@ -550,13 +550,7 @@ public LicenseFeeUpdateParams.TransformQuantity build() { } /** Required. Divide usage by this number. */ - public Builder setDivideBy(String divideBy) { - this.divideBy = divideBy; - return this; - } - - /** Required. Divide usage by this number. */ - public Builder setDivideBy(EmptyParam divideBy) { + public Builder setDivideBy(Long divideBy) { this.divideBy = divideBy; return this; } diff --git a/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java b/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java index 3c273b2ee78..df85b03f099 100644 --- a/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ratecards/RateCreateParams.java @@ -488,7 +488,7 @@ public enum UpToInf implements ApiRequestParams.EnumParam { public static class TransformQuantity { /** Required. Divide usage by this number. */ @SerializedName("divide_by") - String divideBy; + Long divideBy; /** * Map of extra parameters for custom features not available in this client library. The content @@ -503,7 +503,7 @@ public static class TransformQuantity { @SerializedName("round") Round round; - private TransformQuantity(String divideBy, Map extraParams, Round round) { + private TransformQuantity(Long divideBy, Map extraParams, Round round) { this.divideBy = divideBy; this.extraParams = extraParams; this.round = round; @@ -514,7 +514,7 @@ public static Builder builder() { } public static class Builder { - private String divideBy; + private Long divideBy; private Map extraParams; @@ -526,7 +526,7 @@ public RateCreateParams.TransformQuantity build() { } /** Required. Divide usage by this number. */ - public Builder setDivideBy(String divideBy) { + public Builder setDivideBy(Long divideBy) { this.divideBy = divideBy; return this; }