Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
// File generated from our OpenAPI spec
package com.stripe.param;
import com.google.gson.annotations.SerializedName;
import com.stripe.net.ApiRequestParams;
import com.stripe.param.common.EmptyParam;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
@Getter
public class AccountCreateParams extends ApiRequestParams {
/**
* An account token, used to
* securely provide details to the account.
*/
@SerializedName("account_token")
String accountToken;
/** Business information about the account. */
@SerializedName("business_profile")
BusinessProfile businessProfile;
/** The business type. */
@SerializedName("business_type")
BusinessType businessType;
/**
* Each key of the dictionary represents a capability, and each capability maps to its settings
* (e.g. whether it has been requested or not). Each capability will be inactive until you have
* provided its specific requirements and Stripe has verified them. An account may have some of
* its requested capabilities be active and some be inactive.
*/
@SerializedName("capabilities")
Capabilities capabilities;
/**
* Information about the company or business. This field is available for any {@code
* business_type}.
*/
@SerializedName("company")
Company company;
/**
* 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. For example, if you are in the
* United States and the business for which you're creating an account is legally represented in
* Canada, you would use {@code CA} as the country for the account being created. Available
* countries include Stripe's global markets as well as
* countries where cross-border
* payouts are supported.
*/
@SerializedName("country")
String country;
/**
* Three-letter ISO currency code representing the default currency for the account. This must be
* a currency that Stripe supports in the account's
* country.
*/
@SerializedName("default_currency")
String defaultCurrency;
/** Documents that may be submitted to satisfy various informational requests. */
@SerializedName("documents")
Documents documents;
/**
* The email address of the account holder. This is only to make the account easier to identify to
* you. Stripe only emails Custom accounts with your consent.
*/
@SerializedName("email")
String email;
/** Specifies which fields in the response should be expanded. */
@SerializedName("expand")
List expand;
/**
* A card or bank account to attach to the account for receiving payouts (you won’t be able
* to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
* external_account} parameter for bank account creation.
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs.
*/
@SerializedName("external_account")
String externalAccount;
/**
* Map of extra parameters for custom features not available in this client library. The content
* in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
* key/value pair is serialized as if the key is a root-level field (serialized) name in this
* param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Information about the person represented by the account. This field is null unless {@code
* business_type} is set to {@code individual}.
*/
@SerializedName("individual")
Individual individual;
/**
* 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")
Object metadata;
/** Options for customizing how the account functions within Stripe. */
@SerializedName("settings")
Settings settings;
/**
* Details on the account's acceptance of the Stripe Services
* Agreement.
*/
@SerializedName("tos_acceptance")
TosAcceptance tosAcceptance;
/**
* The type of Stripe account to create. May be one of {@code custom}, {@code express} or {@code
* standard}.
*/
@SerializedName("type")
Type type;
private AccountCreateParams(
String accountToken,
BusinessProfile businessProfile,
BusinessType businessType,
Capabilities capabilities,
Company company,
String country,
String defaultCurrency,
Documents documents,
String email,
List expand,
String externalAccount,
Map extraParams,
Individual individual,
Object metadata,
Settings settings,
TosAcceptance tosAcceptance,
Type type) {
this.accountToken = accountToken;
this.businessProfile = businessProfile;
this.businessType = businessType;
this.capabilities = capabilities;
this.company = company;
this.country = country;
this.defaultCurrency = defaultCurrency;
this.documents = documents;
this.email = email;
this.expand = expand;
this.externalAccount = externalAccount;
this.extraParams = extraParams;
this.individual = individual;
this.metadata = metadata;
this.settings = settings;
this.tosAcceptance = tosAcceptance;
this.type = type;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private String accountToken;
private BusinessProfile businessProfile;
private BusinessType businessType;
private Capabilities capabilities;
private Company company;
private String country;
private String defaultCurrency;
private Documents documents;
private String email;
private List expand;
private String externalAccount;
private Map extraParams;
private Individual individual;
private Object metadata;
private Settings settings;
private TosAcceptance tosAcceptance;
private Type type;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams build() {
return new AccountCreateParams(
this.accountToken,
this.businessProfile,
this.businessType,
this.capabilities,
this.company,
this.country,
this.defaultCurrency,
this.documents,
this.email,
this.expand,
this.externalAccount,
this.extraParams,
this.individual,
this.metadata,
this.settings,
this.tosAcceptance,
this.type);
}
/**
* An account token, used to
* securely provide details to the account.
*/
public Builder setAccountToken(String accountToken) {
this.accountToken = accountToken;
return this;
}
/** Business information about the account. */
public Builder setBusinessProfile(AccountCreateParams.BusinessProfile businessProfile) {
this.businessProfile = businessProfile;
return this;
}
/** The business type. */
public Builder setBusinessType(AccountCreateParams.BusinessType businessType) {
this.businessType = businessType;
return this;
}
/**
* Each key of the dictionary represents a capability, and each capability maps to its settings
* (e.g. whether it has been requested or not). Each capability will be inactive until you have
* provided its specific requirements and Stripe has verified them. An account may have some of
* its requested capabilities be active and some be inactive.
*/
public Builder setCapabilities(AccountCreateParams.Capabilities capabilities) {
this.capabilities = capabilities;
return this;
}
/**
* Information about the company or business. This field is available for any {@code
* business_type}.
*/
public Builder setCompany(AccountCreateParams.Company company) {
this.company = company;
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. For example, if you are in
* the United States and the business for which you're creating an account is legally
* represented in Canada, you would use {@code CA} as the country for the account being created.
* Available countries include Stripe's global markets
* as well as countries where cross-border payouts are
* supported.
*/
public Builder setCountry(String country) {
this.country = country;
return this;
}
/**
* Three-letter ISO currency code representing the default currency for the account. This must
* be a currency that Stripe supports in the account's
* country.
*/
public Builder setDefaultCurrency(String defaultCurrency) {
this.defaultCurrency = defaultCurrency;
return this;
}
/** Documents that may be submitted to satisfy various informational requests. */
public Builder setDocuments(AccountCreateParams.Documents documents) {
this.documents = documents;
return this;
}
/**
* The email address of the account holder. This is only to make the account easier to identify
* to you. Stripe only emails Custom accounts with your consent.
*/
public Builder setEmail(String email) {
this.email = email;
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
* AccountCreateParams#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
* AccountCreateParams#expand} for the field documentation.
*/
public Builder addAllExpand(List elements) {
if (this.expand == null) {
this.expand = new ArrayList<>();
}
this.expand.addAll(elements);
return this;
}
/**
* A card or bank account to attach to the account for receiving payouts (you won’t be able
* to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
* external_account} parameter for bank account creation.
*
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs.
*/
public Builder setExternalAccount(String externalAccount) {
this.externalAccount = externalAccount;
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#extraParams} for the 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#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. This field is null unless {@code
* business_type} is set to {@code individual}.
*/
public Builder setIndividual(AccountCreateParams.Individual individual) {
this.individual = individual;
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
* AccountCreateParams#metadata} for the field documentation.
*/
@SuppressWarnings("unchecked")
public Builder putMetadata(String key, String value) {
if (this.metadata == null || this.metadata instanceof EmptyParam) {
this.metadata = new HashMap();
}
((Map) 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 AccountCreateParams#metadata} for the field documentation.
*/
@SuppressWarnings("unchecked")
public Builder putAllMetadata(Map map) {
if (this.metadata == null || this.metadata instanceof EmptyParam) {
this.metadata = new HashMap();
}
((Map) this.metadata).putAll(map);
return this;
}
/**
* 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}.
*/
public Builder setMetadata(EmptyParam metadata) {
this.metadata = metadata;
return this;
}
/**
* 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}.
*/
public Builder setMetadata(Map metadata) {
this.metadata = metadata;
return this;
}
/** Options for customizing how the account functions within Stripe. */
public Builder setSettings(AccountCreateParams.Settings settings) {
this.settings = settings;
return this;
}
/**
* Details on the account's acceptance of the Stripe Services
* Agreement.
*/
public Builder setTosAcceptance(AccountCreateParams.TosAcceptance tosAcceptance) {
this.tosAcceptance = tosAcceptance;
return this;
}
/**
* The type of Stripe account to create. May be one of {@code custom}, {@code express} or {@code
* standard}.
*/
public Builder setType(AccountCreateParams.Type type) {
this.type = type;
return this;
}
}
@Getter
public static class BusinessProfile {
/**
* Map of extra parameters for custom features not available in this client library. The content
* in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
* key/value pair is serialized as if the key is a root-level field (serialized) name in this
* param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* The merchant category code for the
* account. MCCs are used to classify businesses based on the goods or services they
* provide.
*/
@SerializedName("mcc")
String mcc;
/** The customer-facing business name. */
@SerializedName("name")
String name;
/**
* Internal-only description of the product sold by, or service provided by, the business. Used
* by Stripe for risk and underwriting purposes.
*/
@SerializedName("product_description")
String productDescription;
/** A publicly available mailing address for sending support issues to. */
@SerializedName("support_address")
SupportAddress supportAddress;
/** A publicly available email address for sending support issues to. */
@SerializedName("support_email")
String supportEmail;
/** A publicly available phone number to call with support issues. */
@SerializedName("support_phone")
String supportPhone;
/** A publicly available website for handling support issues. */
@SerializedName("support_url")
Object supportUrl;
/** The business's publicly available website. */
@SerializedName("url")
String url;
private BusinessProfile(
Map extraParams,
String mcc,
String name,
String productDescription,
SupportAddress supportAddress,
String supportEmail,
String supportPhone,
Object supportUrl,
String url) {
this.extraParams = extraParams;
this.mcc = mcc;
this.name = name;
this.productDescription = productDescription;
this.supportAddress = supportAddress;
this.supportEmail = supportEmail;
this.supportPhone = supportPhone;
this.supportUrl = supportUrl;
this.url = url;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private String mcc;
private String name;
private String productDescription;
private SupportAddress supportAddress;
private String supportEmail;
private String supportPhone;
private Object supportUrl;
private String url;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.BusinessProfile build() {
return new AccountCreateParams.BusinessProfile(
this.extraParams,
this.mcc,
this.name,
this.productDescription,
this.supportAddress,
this.supportEmail,
this.supportPhone,
this.supportUrl,
this.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.BusinessProfile#extraParams} for the 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.BusinessProfile#extraParams} for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* The merchant category code for the
* account. MCCs are used to classify businesses based on the goods or services they
* provide.
*/
public Builder setMcc(String mcc) {
this.mcc = mcc;
return this;
}
/** The customer-facing business name. */
public Builder setName(String name) {
this.name = name;
return this;
}
/**
* Internal-only description of the product sold by, or service provided by, the business.
* Used by Stripe for risk and underwriting purposes.
*/
public Builder setProductDescription(String productDescription) {
this.productDescription = productDescription;
return this;
}
/** A publicly available mailing address for sending support issues to. */
public Builder setSupportAddress(
AccountCreateParams.BusinessProfile.SupportAddress supportAddress) {
this.supportAddress = supportAddress;
return this;
}
/** A publicly available email address for sending support issues to. */
public Builder setSupportEmail(String supportEmail) {
this.supportEmail = supportEmail;
return this;
}
/** A publicly available phone number to call with support issues. */
public Builder setSupportPhone(String supportPhone) {
this.supportPhone = supportPhone;
return this;
}
/** A publicly available website for handling support issues. */
public Builder setSupportUrl(String supportUrl) {
this.supportUrl = supportUrl;
return this;
}
/** A publicly available website for handling support issues. */
public Builder setSupportUrl(EmptyParam supportUrl) {
this.supportUrl = supportUrl;
return this;
}
/** The business's publicly available website. */
public Builder setUrl(String url) {
this.url = url;
return this;
}
}
@Getter
public static class SupportAddress {
/** 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 (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;
private SupportAddress(
String city,
String country,
Map extraParams,
String line1,
String line2,
String postalCode,
String state) {
this.city = city;
this.country = country;
this.extraParams = extraParams;
this.line1 = line1;
this.line2 = line2;
this.postalCode = postalCode;
this.state = state;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private String city;
private String country;
private Map extraParams;
private String line1;
private String line2;
private String postalCode;
private String state;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.BusinessProfile.SupportAddress build() {
return new AccountCreateParams.BusinessProfile.SupportAddress(
this.city,
this.country,
this.extraParams,
this.line1,
this.line2,
this.postalCode,
this.state);
}
/** City, district, suburb, town, or village. */
public Builder setCity(String city) {
this.city = city;
return this;
}
/**
* Two-letter country code (ISO
* 3166-1 alpha-2).
*/
public Builder setCountry(String country) {
this.country = country;
return this;
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.BusinessProfile.SupportAddress#extraParams} for the
* 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.BusinessProfile.SupportAddress#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
public static class Capabilities {
/** The acss_debit_payments capability. */
@SerializedName("acss_debit_payments")
AcssDebitPayments acssDebitPayments;
/** The affirm_payments capability. */
@SerializedName("affirm_payments")
AffirmPayments affirmPayments;
/** The afterpay_clearpay_payments capability. */
@SerializedName("afterpay_clearpay_payments")
AfterpayClearpayPayments afterpayClearpayPayments;
/** The au_becs_debit_payments capability. */
@SerializedName("au_becs_debit_payments")
AuBecsDebitPayments auBecsDebitPayments;
/** The bacs_debit_payments capability. */
@SerializedName("bacs_debit_payments")
BacsDebitPayments bacsDebitPayments;
/** The bancontact_payments capability. */
@SerializedName("bancontact_payments")
BancontactPayments bancontactPayments;
/** The bank_transfer_payments capability. */
@SerializedName("bank_transfer_payments")
BankTransferPayments bankTransferPayments;
/** The blik_payments capability. */
@SerializedName("blik_payments")
BlikPayments blikPayments;
/** The boleto_payments capability. */
@SerializedName("boleto_payments")
BoletoPayments boletoPayments;
/** The card_issuing capability. */
@SerializedName("card_issuing")
CardIssuing cardIssuing;
/** The card_payments capability. */
@SerializedName("card_payments")
CardPayments cardPayments;
/** The cartes_bancaires_payments capability. */
@SerializedName("cartes_bancaires_payments")
CartesBancairesPayments cartesBancairesPayments;
/** The cashapp_payments capability. */
@SerializedName("cashapp_payments")
CashappPayments cashappPayments;
/** The eps_payments capability. */
@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;
/** The fpx_payments capability. */
@SerializedName("fpx_payments")
FpxPayments fpxPayments;
/** The giropay_payments capability. */
@SerializedName("giropay_payments")
GiropayPayments giropayPayments;
/** The grabpay_payments capability. */
@SerializedName("grabpay_payments")
GrabpayPayments grabpayPayments;
/** The ideal_payments capability. */
@SerializedName("ideal_payments")
IdealPayments idealPayments;
/** The india_international_payments capability. */
@SerializedName("india_international_payments")
IndiaInternationalPayments indiaInternationalPayments;
/** The jcb_payments capability. */
@SerializedName("jcb_payments")
JcbPayments jcbPayments;
/** The klarna_payments capability. */
@SerializedName("klarna_payments")
KlarnaPayments klarnaPayments;
/** The konbini_payments capability. */
@SerializedName("konbini_payments")
KonbiniPayments konbiniPayments;
/** The legacy_payments capability. */
@SerializedName("legacy_payments")
LegacyPayments legacyPayments;
/** The link_payments capability. */
@SerializedName("link_payments")
LinkPayments linkPayments;
/** The oxxo_payments capability. */
@SerializedName("oxxo_payments")
OxxoPayments oxxoPayments;
/** The p24_payments capability. */
@SerializedName("p24_payments")
P24Payments p24Payments;
/** The paynow_payments capability. */
@SerializedName("paynow_payments")
PaynowPayments paynowPayments;
/** The promptpay_payments capability. */
@SerializedName("promptpay_payments")
PromptpayPayments promptpayPayments;
/** The sepa_debit_payments capability. */
@SerializedName("sepa_debit_payments")
SepaDebitPayments sepaDebitPayments;
/** The sofort_payments capability. */
@SerializedName("sofort_payments")
SofortPayments sofortPayments;
/** The tax_reporting_us_1099_k capability. */
@SerializedName("tax_reporting_us_1099_k")
TaxReportingUs1099K taxReportingUs1099K;
/** The tax_reporting_us_1099_misc capability. */
@SerializedName("tax_reporting_us_1099_misc")
TaxReportingUs1099Misc taxReportingUs1099Misc;
/** The transfers capability. */
@SerializedName("transfers")
Transfers transfers;
/** The treasury capability. */
@SerializedName("treasury")
Treasury treasury;
/** The us_bank_account_ach_payments capability. */
@SerializedName("us_bank_account_ach_payments")
UsBankAccountAchPayments usBankAccountAchPayments;
/** The zip_payments capability. */
@SerializedName("zip_payments")
ZipPayments zipPayments;
private Capabilities(
AcssDebitPayments acssDebitPayments,
AffirmPayments affirmPayments,
AfterpayClearpayPayments afterpayClearpayPayments,
AuBecsDebitPayments auBecsDebitPayments,
BacsDebitPayments bacsDebitPayments,
BancontactPayments bancontactPayments,
BankTransferPayments bankTransferPayments,
BlikPayments blikPayments,
BoletoPayments boletoPayments,
CardIssuing cardIssuing,
CardPayments cardPayments,
CartesBancairesPayments cartesBancairesPayments,
CashappPayments cashappPayments,
EpsPayments epsPayments,
Map extraParams,
FpxPayments fpxPayments,
GiropayPayments giropayPayments,
GrabpayPayments grabpayPayments,
IdealPayments idealPayments,
IndiaInternationalPayments indiaInternationalPayments,
JcbPayments jcbPayments,
KlarnaPayments klarnaPayments,
KonbiniPayments konbiniPayments,
LegacyPayments legacyPayments,
LinkPayments linkPayments,
OxxoPayments oxxoPayments,
P24Payments p24Payments,
PaynowPayments paynowPayments,
PromptpayPayments promptpayPayments,
SepaDebitPayments sepaDebitPayments,
SofortPayments sofortPayments,
TaxReportingUs1099K taxReportingUs1099K,
TaxReportingUs1099Misc taxReportingUs1099Misc,
Transfers transfers,
Treasury treasury,
UsBankAccountAchPayments usBankAccountAchPayments,
ZipPayments zipPayments) {
this.acssDebitPayments = acssDebitPayments;
this.affirmPayments = affirmPayments;
this.afterpayClearpayPayments = afterpayClearpayPayments;
this.auBecsDebitPayments = auBecsDebitPayments;
this.bacsDebitPayments = bacsDebitPayments;
this.bancontactPayments = bancontactPayments;
this.bankTransferPayments = bankTransferPayments;
this.blikPayments = blikPayments;
this.boletoPayments = boletoPayments;
this.cardIssuing = cardIssuing;
this.cardPayments = cardPayments;
this.cartesBancairesPayments = cartesBancairesPayments;
this.cashappPayments = cashappPayments;
this.epsPayments = epsPayments;
this.extraParams = extraParams;
this.fpxPayments = fpxPayments;
this.giropayPayments = giropayPayments;
this.grabpayPayments = grabpayPayments;
this.idealPayments = idealPayments;
this.indiaInternationalPayments = indiaInternationalPayments;
this.jcbPayments = jcbPayments;
this.klarnaPayments = klarnaPayments;
this.konbiniPayments = konbiniPayments;
this.legacyPayments = legacyPayments;
this.linkPayments = linkPayments;
this.oxxoPayments = oxxoPayments;
this.p24Payments = p24Payments;
this.paynowPayments = paynowPayments;
this.promptpayPayments = promptpayPayments;
this.sepaDebitPayments = sepaDebitPayments;
this.sofortPayments = sofortPayments;
this.taxReportingUs1099K = taxReportingUs1099K;
this.taxReportingUs1099Misc = taxReportingUs1099Misc;
this.transfers = transfers;
this.treasury = treasury;
this.usBankAccountAchPayments = usBankAccountAchPayments;
this.zipPayments = zipPayments;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private AcssDebitPayments acssDebitPayments;
private AffirmPayments affirmPayments;
private AfterpayClearpayPayments afterpayClearpayPayments;
private AuBecsDebitPayments auBecsDebitPayments;
private BacsDebitPayments bacsDebitPayments;
private BancontactPayments bancontactPayments;
private BankTransferPayments bankTransferPayments;
private BlikPayments blikPayments;
private BoletoPayments boletoPayments;
private CardIssuing cardIssuing;
private CardPayments cardPayments;
private CartesBancairesPayments cartesBancairesPayments;
private CashappPayments cashappPayments;
private EpsPayments epsPayments;
private Map extraParams;
private FpxPayments fpxPayments;
private GiropayPayments giropayPayments;
private GrabpayPayments grabpayPayments;
private IdealPayments idealPayments;
private IndiaInternationalPayments indiaInternationalPayments;
private JcbPayments jcbPayments;
private KlarnaPayments klarnaPayments;
private KonbiniPayments konbiniPayments;
private LegacyPayments legacyPayments;
private LinkPayments linkPayments;
private OxxoPayments oxxoPayments;
private P24Payments p24Payments;
private PaynowPayments paynowPayments;
private PromptpayPayments promptpayPayments;
private SepaDebitPayments sepaDebitPayments;
private SofortPayments sofortPayments;
private TaxReportingUs1099K taxReportingUs1099K;
private TaxReportingUs1099Misc taxReportingUs1099Misc;
private Transfers transfers;
private Treasury treasury;
private UsBankAccountAchPayments usBankAccountAchPayments;
private ZipPayments zipPayments;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Capabilities build() {
return new AccountCreateParams.Capabilities(
this.acssDebitPayments,
this.affirmPayments,
this.afterpayClearpayPayments,
this.auBecsDebitPayments,
this.bacsDebitPayments,
this.bancontactPayments,
this.bankTransferPayments,
this.blikPayments,
this.boletoPayments,
this.cardIssuing,
this.cardPayments,
this.cartesBancairesPayments,
this.cashappPayments,
this.epsPayments,
this.extraParams,
this.fpxPayments,
this.giropayPayments,
this.grabpayPayments,
this.idealPayments,
this.indiaInternationalPayments,
this.jcbPayments,
this.klarnaPayments,
this.konbiniPayments,
this.legacyPayments,
this.linkPayments,
this.oxxoPayments,
this.p24Payments,
this.paynowPayments,
this.promptpayPayments,
this.sepaDebitPayments,
this.sofortPayments,
this.taxReportingUs1099K,
this.taxReportingUs1099Misc,
this.transfers,
this.treasury,
this.usBankAccountAchPayments,
this.zipPayments);
}
/** The acss_debit_payments capability. */
public Builder setAcssDebitPayments(
AccountCreateParams.Capabilities.AcssDebitPayments acssDebitPayments) {
this.acssDebitPayments = acssDebitPayments;
return this;
}
/** The affirm_payments capability. */
public Builder setAffirmPayments(
AccountCreateParams.Capabilities.AffirmPayments affirmPayments) {
this.affirmPayments = affirmPayments;
return this;
}
/** The afterpay_clearpay_payments capability. */
public Builder setAfterpayClearpayPayments(
AccountCreateParams.Capabilities.AfterpayClearpayPayments afterpayClearpayPayments) {
this.afterpayClearpayPayments = afterpayClearpayPayments;
return this;
}
/** The au_becs_debit_payments capability. */
public Builder setAuBecsDebitPayments(
AccountCreateParams.Capabilities.AuBecsDebitPayments auBecsDebitPayments) {
this.auBecsDebitPayments = auBecsDebitPayments;
return this;
}
/** The bacs_debit_payments capability. */
public Builder setBacsDebitPayments(
AccountCreateParams.Capabilities.BacsDebitPayments bacsDebitPayments) {
this.bacsDebitPayments = bacsDebitPayments;
return this;
}
/** The bancontact_payments capability. */
public Builder setBancontactPayments(
AccountCreateParams.Capabilities.BancontactPayments bancontactPayments) {
this.bancontactPayments = bancontactPayments;
return this;
}
/** The bank_transfer_payments capability. */
public Builder setBankTransferPayments(
AccountCreateParams.Capabilities.BankTransferPayments bankTransferPayments) {
this.bankTransferPayments = bankTransferPayments;
return this;
}
/** The blik_payments capability. */
public Builder setBlikPayments(AccountCreateParams.Capabilities.BlikPayments blikPayments) {
this.blikPayments = blikPayments;
return this;
}
/** The boleto_payments capability. */
public Builder setBoletoPayments(
AccountCreateParams.Capabilities.BoletoPayments boletoPayments) {
this.boletoPayments = boletoPayments;
return this;
}
/** The card_issuing capability. */
public Builder setCardIssuing(AccountCreateParams.Capabilities.CardIssuing cardIssuing) {
this.cardIssuing = cardIssuing;
return this;
}
/** The card_payments capability. */
public Builder setCardPayments(AccountCreateParams.Capabilities.CardPayments cardPayments) {
this.cardPayments = cardPayments;
return this;
}
/** The cartes_bancaires_payments capability. */
public Builder setCartesBancairesPayments(
AccountCreateParams.Capabilities.CartesBancairesPayments cartesBancairesPayments) {
this.cartesBancairesPayments = cartesBancairesPayments;
return this;
}
/** The cashapp_payments capability. */
public Builder setCashappPayments(
AccountCreateParams.Capabilities.CashappPayments cashappPayments) {
this.cashappPayments = cashappPayments;
return this;
}
/** The eps_payments capability. */
public Builder setEpsPayments(AccountCreateParams.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.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.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 fpx_payments capability. */
public Builder setFpxPayments(AccountCreateParams.Capabilities.FpxPayments fpxPayments) {
this.fpxPayments = fpxPayments;
return this;
}
/** The giropay_payments capability. */
public Builder setGiropayPayments(
AccountCreateParams.Capabilities.GiropayPayments giropayPayments) {
this.giropayPayments = giropayPayments;
return this;
}
/** The grabpay_payments capability. */
public Builder setGrabpayPayments(
AccountCreateParams.Capabilities.GrabpayPayments grabpayPayments) {
this.grabpayPayments = grabpayPayments;
return this;
}
/** The ideal_payments capability. */
public Builder setIdealPayments(
AccountCreateParams.Capabilities.IdealPayments idealPayments) {
this.idealPayments = idealPayments;
return this;
}
/** The india_international_payments capability. */
public Builder setIndiaInternationalPayments(
AccountCreateParams.Capabilities.IndiaInternationalPayments indiaInternationalPayments) {
this.indiaInternationalPayments = indiaInternationalPayments;
return this;
}
/** The jcb_payments capability. */
public Builder setJcbPayments(AccountCreateParams.Capabilities.JcbPayments jcbPayments) {
this.jcbPayments = jcbPayments;
return this;
}
/** The klarna_payments capability. */
public Builder setKlarnaPayments(
AccountCreateParams.Capabilities.KlarnaPayments klarnaPayments) {
this.klarnaPayments = klarnaPayments;
return this;
}
/** The konbini_payments capability. */
public Builder setKonbiniPayments(
AccountCreateParams.Capabilities.KonbiniPayments konbiniPayments) {
this.konbiniPayments = konbiniPayments;
return this;
}
/** The legacy_payments capability. */
public Builder setLegacyPayments(
AccountCreateParams.Capabilities.LegacyPayments legacyPayments) {
this.legacyPayments = legacyPayments;
return this;
}
/** The link_payments capability. */
public Builder setLinkPayments(AccountCreateParams.Capabilities.LinkPayments linkPayments) {
this.linkPayments = linkPayments;
return this;
}
/** The oxxo_payments capability. */
public Builder setOxxoPayments(AccountCreateParams.Capabilities.OxxoPayments oxxoPayments) {
this.oxxoPayments = oxxoPayments;
return this;
}
/** The p24_payments capability. */
public Builder setP24Payments(AccountCreateParams.Capabilities.P24Payments p24Payments) {
this.p24Payments = p24Payments;
return this;
}
/** The paynow_payments capability. */
public Builder setPaynowPayments(
AccountCreateParams.Capabilities.PaynowPayments paynowPayments) {
this.paynowPayments = paynowPayments;
return this;
}
/** The promptpay_payments capability. */
public Builder setPromptpayPayments(
AccountCreateParams.Capabilities.PromptpayPayments promptpayPayments) {
this.promptpayPayments = promptpayPayments;
return this;
}
/** The sepa_debit_payments capability. */
public Builder setSepaDebitPayments(
AccountCreateParams.Capabilities.SepaDebitPayments sepaDebitPayments) {
this.sepaDebitPayments = sepaDebitPayments;
return this;
}
/** The sofort_payments capability. */
public Builder setSofortPayments(
AccountCreateParams.Capabilities.SofortPayments sofortPayments) {
this.sofortPayments = sofortPayments;
return this;
}
/** The tax_reporting_us_1099_k capability. */
public Builder setTaxReportingUs1099K(
AccountCreateParams.Capabilities.TaxReportingUs1099K taxReportingUs1099K) {
this.taxReportingUs1099K = taxReportingUs1099K;
return this;
}
/** The tax_reporting_us_1099_misc capability. */
public Builder setTaxReportingUs1099Misc(
AccountCreateParams.Capabilities.TaxReportingUs1099Misc taxReportingUs1099Misc) {
this.taxReportingUs1099Misc = taxReportingUs1099Misc;
return this;
}
/** The transfers capability. */
public Builder setTransfers(AccountCreateParams.Capabilities.Transfers transfers) {
this.transfers = transfers;
return this;
}
/** The treasury capability. */
public Builder setTreasury(AccountCreateParams.Capabilities.Treasury treasury) {
this.treasury = treasury;
return this;
}
/** The us_bank_account_ach_payments capability. */
public Builder setUsBankAccountAchPayments(
AccountCreateParams.Capabilities.UsBankAccountAchPayments usBankAccountAchPayments) {
this.usBankAccountAchPayments = usBankAccountAchPayments;
return this;
}
/** The zip_payments capability. */
public Builder setZipPayments(AccountCreateParams.Capabilities.ZipPayments zipPayments) {
this.zipPayments = zipPayments;
return this;
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.AcssDebitPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.AffirmPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.AfterpayClearpayPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.AuBecsDebitPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.BacsDebitPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.BancontactPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class BankTransferPayments {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private BankTransferPayments(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.Capabilities.BankTransferPayments build() {
return new AccountCreateParams.Capabilities.BankTransferPayments(
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.Capabilities.BankTransferPayments#extraParams} for
* the 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.Capabilities.BankTransferPayments#extraParams} for
* the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.BlikPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.BoletoPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class CardIssuing {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private CardIssuing(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.Capabilities.CardIssuing build() {
return new AccountCreateParams.Capabilities.CardIssuing(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.Capabilities.CardIssuing#extraParams} for the 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.Capabilities.CardIssuing#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.CardPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.CartesBancairesPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.CashappPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.EpsPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.FpxPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class GiropayPayments {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private GiropayPayments(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.Capabilities.GiropayPayments build() {
return new AccountCreateParams.Capabilities.GiropayPayments(
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.Capabilities.GiropayPayments#extraParams} for the
* 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.Capabilities.GiropayPayments#extraParams} for the
* field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.GrabpayPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.IdealPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class IndiaInternationalPayments {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private IndiaInternationalPayments(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.Capabilities.IndiaInternationalPayments build() {
return new AccountCreateParams.Capabilities.IndiaInternationalPayments(
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.Capabilities.IndiaInternationalPayments#extraParams}
* for the 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.Capabilities.IndiaInternationalPayments#extraParams}
* for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.JcbPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.KlarnaPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.KonbiniPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class LegacyPayments {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private LegacyPayments(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.Capabilities.LegacyPayments build() {
return new AccountCreateParams.Capabilities.LegacyPayments(
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.Capabilities.LegacyPayments#extraParams} for the
* 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.Capabilities.LegacyPayments#extraParams} for the
* field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.LinkPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.OxxoPayments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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.Capabilities.P24Payments build() {
return new AccountCreateParams.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.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.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private PaynowPayments(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.Capabilities.PaynowPayments build() {
return new AccountCreateParams.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.Capabilities.PaynowPayments#extraParams} for the
* 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.Capabilities.PaynowPayments#extraParams} for the
* field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private PromptpayPayments(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.Capabilities.PromptpayPayments build() {
return new AccountCreateParams.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 AccountCreateParams.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;
}
/**
* Add all map key/value pairs to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private SepaDebitPayments(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.Capabilities.SepaDebitPayments build() {
return new AccountCreateParams.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 AccountCreateParams.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;
}
/**
* Add all map key/value pairs to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.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;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class SofortPayments {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private SofortPayments(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.Capabilities.SofortPayments build() {
return new AccountCreateParams.Capabilities.SofortPayments(
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.Capabilities.SofortPayments#extraParams} for the
* 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.Capabilities.SofortPayments#extraParams} for the
* field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class TaxReportingUs1099K {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private TaxReportingUs1099K(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.Capabilities.TaxReportingUs1099K build() {
return new AccountCreateParams.Capabilities.TaxReportingUs1099K(
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.Capabilities.TaxReportingUs1099K#extraParams} for the
* 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.Capabilities.TaxReportingUs1099K#extraParams} for the
* field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class TaxReportingUs1099Misc {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private TaxReportingUs1099Misc(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.Capabilities.TaxReportingUs1099Misc build() {
return new AccountCreateParams.Capabilities.TaxReportingUs1099Misc(
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.Capabilities.TaxReportingUs1099Misc#extraParams} for
* the 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.Capabilities.TaxReportingUs1099Misc#extraParams} for
* the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class Transfers {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private Transfers(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.Capabilities.Transfers build() {
return new AccountCreateParams.Capabilities.Transfers(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.Capabilities.Transfers#extraParams} for the 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.Capabilities.Transfers#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class Treasury {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private Treasury(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.Capabilities.Treasury build() {
return new AccountCreateParams.Capabilities.Treasury(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.Capabilities.Treasury#extraParams} for the 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.Capabilities.Treasury#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
public static class UsBankAccountAchPayments {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@SerializedName("requested")
Boolean requested;
private UsBankAccountAchPayments(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.Capabilities.UsBankAccountAchPayments build() {
return new AccountCreateParams.Capabilities.UsBankAccountAchPayments(
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.Capabilities.UsBankAccountAchPayments#extraParams}
* for the 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.Capabilities.UsBankAccountAchPayments#extraParams}
* for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
@Getter
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;
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
@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 AccountCreateParams.Capabilities.ZipPayments build() {
return new AccountCreateParams.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.Capabilities.ZipPayments#extraParams} for the 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.Capabilities.ZipPayments#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Passing true requests the capability for the account, if it is not already requested. A
* requested capability may not immediately become active. Any requirements to activate the
* capability are returned in the {@code requirements} arrays.
*/
public Builder setRequested(Boolean requested) {
this.requested = requested;
return this;
}
}
}
}
@Getter
public static class Company {
/** The company's primary address. */
@SerializedName("address")
Address address;
/** The Kana variation of the company's primary address (Japan only). */
@SerializedName("address_kana")
AddressKana addressKana;
/** The Kanji variation of the company's primary address (Japan only). */
@SerializedName("address_kanji")
AddressKanji addressKanji;
/**
* Whether the company's directors have been provided. Set this Boolean to {@code true} after
* creating all the company's directors with the
* Persons API for accounts with a {@code relationship.director} requirement. This value is
* not automatically set to {@code true} after creating directors, so it needs to be updated to
* indicate all directors have been provided.
*/
@SerializedName("directors_provided")
Boolean directorsProvided;
/**
* Whether the company's executives have been provided. Set this Boolean to {@code true} after
* creating all the company's executives with the
* Persons API for accounts with a {@code relationship.executive} requirement.
*/
@SerializedName("executives_provided")
Boolean executivesProvided;
/**
* The export license ID number of the company, also referred as Import Export Code (India
* only).
*/
@SerializedName("export_license_id")
String exportLicenseId;
/** The purpose code to use for export transactions (India only). */
@SerializedName("export_purpose_code")
String exportPurposeCode;
/**
* Map of extra parameters for custom features not available in this client library. The content
* in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
* key/value pair is serialized as if the key is a root-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 company's legal name. */
@SerializedName("name")
String name;
/** The Kana variation of the company's legal name (Japan only). */
@SerializedName("name_kana")
String nameKana;
/** The Kanji variation of the company's legal name (Japan only). */
@SerializedName("name_kanji")
String nameKanji;
/**
* Whether the company's owners have been provided. Set this Boolean to {@code true} after
* creating all the company's owners with the
* Persons API for accounts with a {@code relationship.owner} requirement.
*/
@SerializedName("owners_provided")
Boolean ownersProvided;
/**
* This hash is used to attest that the beneficial owner information provided to Stripe is both
* current and correct.
*/
@SerializedName("ownership_declaration")
OwnershipDeclaration ownershipDeclaration;
/** The company's phone number (used for verification). */
@SerializedName("phone")
String phone;
/**
* The identification number given to a company when it is registered or incorporated, if
* distinct from the identification number used for filing taxes. (Examples are the CIN for
* companies and LLP IN for partnerships in India, and the Company Registration Number in Hong
* Kong).
*/
@SerializedName("registration_number")
String registrationNumber;
/**
* The category identifying the legal structure of the company or legal entity. See Business
* structure for more details.
*/
@SerializedName("structure")
ApiRequestParams.EnumParam structure;
/**
* The business ID number of the company, as appropriate for the company’s country. (Examples
* are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in
* the UK.)
*/
@SerializedName("tax_id")
String taxId;
/**
* The jurisdiction in which the {@code tax_id} is registered (Germany-based companies only).
*/
@SerializedName("tax_id_registrar")
String taxIdRegistrar;
/** The VAT number of the company. */
@SerializedName("vat_id")
String vatId;
/** Information on the verification state of the company. */
@SerializedName("verification")
Verification verification;
private Company(
Address address,
AddressKana addressKana,
AddressKanji addressKanji,
Boolean directorsProvided,
Boolean executivesProvided,
String exportLicenseId,
String exportPurposeCode,
Map extraParams,
String name,
String nameKana,
String nameKanji,
Boolean ownersProvided,
OwnershipDeclaration ownershipDeclaration,
String phone,
String registrationNumber,
ApiRequestParams.EnumParam structure,
String taxId,
String taxIdRegistrar,
String vatId,
Verification verification) {
this.address = address;
this.addressKana = addressKana;
this.addressKanji = addressKanji;
this.directorsProvided = directorsProvided;
this.executivesProvided = executivesProvided;
this.exportLicenseId = exportLicenseId;
this.exportPurposeCode = exportPurposeCode;
this.extraParams = extraParams;
this.name = name;
this.nameKana = nameKana;
this.nameKanji = nameKanji;
this.ownersProvided = ownersProvided;
this.ownershipDeclaration = ownershipDeclaration;
this.phone = phone;
this.registrationNumber = registrationNumber;
this.structure = structure;
this.taxId = taxId;
this.taxIdRegistrar = taxIdRegistrar;
this.vatId = vatId;
this.verification = verification;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Address address;
private AddressKana addressKana;
private AddressKanji addressKanji;
private Boolean directorsProvided;
private Boolean executivesProvided;
private String exportLicenseId;
private String exportPurposeCode;
private Map extraParams;
private String name;
private String nameKana;
private String nameKanji;
private Boolean ownersProvided;
private OwnershipDeclaration ownershipDeclaration;
private String phone;
private String registrationNumber;
private ApiRequestParams.EnumParam structure;
private String taxId;
private String taxIdRegistrar;
private String vatId;
private Verification verification;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company build() {
return new AccountCreateParams.Company(
this.address,
this.addressKana,
this.addressKanji,
this.directorsProvided,
this.executivesProvided,
this.exportLicenseId,
this.exportPurposeCode,
this.extraParams,
this.name,
this.nameKana,
this.nameKanji,
this.ownersProvided,
this.ownershipDeclaration,
this.phone,
this.registrationNumber,
this.structure,
this.taxId,
this.taxIdRegistrar,
this.vatId,
this.verification);
}
/** The company's primary address. */
public Builder setAddress(AccountCreateParams.Company.Address address) {
this.address = address;
return this;
}
/** The Kana variation of the company's primary address (Japan only). */
public Builder setAddressKana(AccountCreateParams.Company.AddressKana addressKana) {
this.addressKana = addressKana;
return this;
}
/** The Kanji variation of the company's primary address (Japan only). */
public Builder setAddressKanji(AccountCreateParams.Company.AddressKanji addressKanji) {
this.addressKanji = addressKanji;
return this;
}
/**
* Whether the company's directors have been provided. Set this Boolean to {@code true} after
* creating all the company's directors with the
* Persons API for accounts with a {@code relationship.director} requirement. This value
* is not automatically set to {@code true} after creating directors, so it needs to be
* updated to indicate all directors have been provided.
*/
public Builder setDirectorsProvided(Boolean directorsProvided) {
this.directorsProvided = directorsProvided;
return this;
}
/**
* Whether the company's executives have been provided. Set this Boolean to {@code true} after
* creating all the company's executives with the Persons API for accounts with a {@code
* relationship.executive} requirement.
*/
public Builder setExecutivesProvided(Boolean executivesProvided) {
this.executivesProvided = executivesProvided;
return this;
}
/**
* The export license ID number of the company, also referred as Import Export Code (India
* only).
*/
public Builder setExportLicenseId(String exportLicenseId) {
this.exportLicenseId = exportLicenseId;
return this;
}
/** The purpose code to use for export transactions (India only). */
public Builder setExportPurposeCode(String exportPurposeCode) {
this.exportPurposeCode = exportPurposeCode;
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.Company#extraParams} for the 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.Company#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 company's legal name. */
public Builder setName(String name) {
this.name = name;
return this;
}
/** The Kana variation of the company's legal name (Japan only). */
public Builder setNameKana(String nameKana) {
this.nameKana = nameKana;
return this;
}
/** The Kanji variation of the company's legal name (Japan only). */
public Builder setNameKanji(String nameKanji) {
this.nameKanji = nameKanji;
return this;
}
/**
* Whether the company's owners have been provided. Set this Boolean to {@code true} after
* creating all the company's owners with the
* Persons API for accounts with a {@code relationship.owner} requirement.
*/
public Builder setOwnersProvided(Boolean ownersProvided) {
this.ownersProvided = ownersProvided;
return this;
}
/**
* This hash is used to attest that the beneficial owner information provided to Stripe is
* both current and correct.
*/
public Builder setOwnershipDeclaration(
AccountCreateParams.Company.OwnershipDeclaration ownershipDeclaration) {
this.ownershipDeclaration = ownershipDeclaration;
return this;
}
/** The company's phone number (used for verification). */
public Builder setPhone(String phone) {
this.phone = phone;
return this;
}
/**
* The identification number given to a company when it is registered or incorporated, if
* distinct from the identification number used for filing taxes. (Examples are the CIN for
* companies and LLP IN for partnerships in India, and the Company Registration Number in Hong
* Kong).
*/
public Builder setRegistrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
return this;
}
/**
* The category identifying the legal structure of the company or legal entity. See Business
* structure for more details.
*/
public Builder setStructure(AccountCreateParams.Company.Structure structure) {
this.structure = structure;
return this;
}
/**
* The category identifying the legal structure of the company or legal entity. See Business
* structure for more details.
*/
public Builder setStructure(EmptyParam structure) {
this.structure = structure;
return this;
}
/**
* The business ID number of the company, as appropriate for the company’s country. (Examples
* are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in
* the UK.)
*/
public Builder setTaxId(String taxId) {
this.taxId = taxId;
return this;
}
/**
* The jurisdiction in which the {@code tax_id} is registered (Germany-based companies only).
*/
public Builder setTaxIdRegistrar(String taxIdRegistrar) {
this.taxIdRegistrar = taxIdRegistrar;
return this;
}
/** The VAT number of the company. */
public Builder setVatId(String vatId) {
this.vatId = vatId;
return this;
}
/** Information on the verification state of the company. */
public Builder setVerification(AccountCreateParams.Company.Verification verification) {
this.verification = verification;
return this;
}
}
@Getter
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 (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;
private Address(
String city,
String country,
Map extraParams,
String line1,
String line2,
String postalCode,
String state) {
this.city = city;
this.country = country;
this.extraParams = extraParams;
this.line1 = line1;
this.line2 = line2;
this.postalCode = postalCode;
this.state = state;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private String city;
private String country;
private Map extraParams;
private String line1;
private String line2;
private String postalCode;
private String state;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company.Address build() {
return new AccountCreateParams.Company.Address(
this.city,
this.country,
this.extraParams,
this.line1,
this.line2,
this.postalCode,
this.state);
}
/** City, district, suburb, town, or village. */
public Builder setCity(String city) {
this.city = city;
return this;
}
/**
* Two-letter country code (ISO
* 3166-1 alpha-2).
*/
public Builder setCountry(String country) {
this.country = country;
return this;
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.Company.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.Company.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
public static class AddressKana {
/** City or ward. */
@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;
/** Block or building number. */
@SerializedName("line1")
String line1;
/** Building details. */
@SerializedName("line2")
String line2;
/** Postal code. */
@SerializedName("postal_code")
String postalCode;
/** Prefecture. */
@SerializedName("state")
String state;
/** Town or cho-me. */
@SerializedName("town")
String town;
private AddressKana(
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.line1 = line1;
this.line2 = line2;
this.postalCode = postalCode;
this.state = state;
this.town = town;
}
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;
private String town;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company.AddressKana build() {
return new AccountCreateParams.Company.AddressKana(
this.city,
this.country,
this.extraParams,
this.line1,
this.line2,
this.postalCode,
this.state,
this.town);
}
/** City or ward. */
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.Company.AddressKana#extraParams} for the 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.Company.AddressKana#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/** Block or building number. */
public Builder setLine1(String line1) {
this.line1 = line1;
return this;
}
/** Building details. */
public Builder setLine2(String line2) {
this.line2 = line2;
return this;
}
/** Postal code. */
public Builder setPostalCode(String postalCode) {
this.postalCode = postalCode;
return this;
}
/** Prefecture. */
public Builder setState(String state) {
this.state = state;
return this;
}
/** Town or cho-me. */
public Builder setTown(String town) {
this.town = town;
return this;
}
}
}
@Getter
public static class AddressKanji {
/** City or ward. */
@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;
/** Block or building number. */
@SerializedName("line1")
String line1;
/** Building details. */
@SerializedName("line2")
String line2;
/** Postal code. */
@SerializedName("postal_code")
String postalCode;
/** Prefecture. */
@SerializedName("state")
String state;
/** Town or cho-me. */
@SerializedName("town")
String town;
private AddressKanji(
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.line1 = line1;
this.line2 = line2;
this.postalCode = postalCode;
this.state = state;
this.town = town;
}
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;
private String town;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company.AddressKanji build() {
return new AccountCreateParams.Company.AddressKanji(
this.city,
this.country,
this.extraParams,
this.line1,
this.line2,
this.postalCode,
this.state,
this.town);
}
/** City or ward. */
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.Company.AddressKanji#extraParams} for the 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.Company.AddressKanji#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/** Block or building number. */
public Builder setLine1(String line1) {
this.line1 = line1;
return this;
}
/** Building details. */
public Builder setLine2(String line2) {
this.line2 = line2;
return this;
}
/** Postal code. */
public Builder setPostalCode(String postalCode) {
this.postalCode = postalCode;
return this;
}
/** Prefecture. */
public Builder setState(String state) {
this.state = state;
return this;
}
/** Town or cho-me. */
public Builder setTown(String town) {
this.town = town;
return this;
}
}
}
@Getter
public static class OwnershipDeclaration {
/** The Unix timestamp marking when the beneficial owner attestation was made. */
@SerializedName("date")
Long 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")
String ip;
/** The user agent of the browser from which the beneficial owner attestation was made. */
@SerializedName("user_agent")
String userAgent;
private OwnershipDeclaration(
Long date, Map extraParams, String ip, String userAgent) {
this.date = date;
this.extraParams = extraParams;
this.ip = ip;
this.userAgent = userAgent;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Long date;
private Map extraParams;
private String ip;
private String userAgent;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company.OwnershipDeclaration build() {
return new AccountCreateParams.Company.OwnershipDeclaration(
this.date, this.extraParams, this.ip, this.userAgent);
}
/** The Unix timestamp marking when the beneficial owner attestation was made. */
public Builder setDate(Long date) {
this.date = date;
return this;
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.Company.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 AccountCreateParams.Company.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 user agent of the browser from which the beneficial owner attestation was made. */
public Builder setUserAgent(String userAgent) {
this.userAgent = userAgent;
return this;
}
}
}
@Getter
public static class Verification {
/** A document verifying the business. */
@SerializedName("document")
Document document;
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-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 Verification(Document document, Map extraParams) {
this.document = document;
this.extraParams = extraParams;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Document document;
private Map extraParams;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company.Verification build() {
return new AccountCreateParams.Company.Verification(this.document, this.extraParams);
}
/** A document verifying the business. */
public Builder setDocument(AccountCreateParams.Company.Verification.Document document) {
this.document = document;
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.Company.Verification#extraParams} for the 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.Company.Verification#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
}
@Getter
public static class Document {
/**
* The back of a document returned by a file upload with a {@code purpose}
* value of {@code additional_verification}. The uploaded file needs to be a color image
* (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in
* size.
*/
@SerializedName("back")
String back;
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-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 front of a document returned by a file upload with a {@code purpose}
* value of {@code additional_verification}. The uploaded file needs to be a color image
* (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in
* size.
*/
@SerializedName("front")
String front;
private Document(String back, Map extraParams, String front) {
this.back = back;
this.extraParams = extraParams;
this.front = front;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private String back;
private Map extraParams;
private String front;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Company.Verification.Document build() {
return new AccountCreateParams.Company.Verification.Document(
this.back, this.extraParams, this.front);
}
/**
* The back of a document returned by a file upload with a {@code purpose}
* value of {@code additional_verification}. The uploaded file needs to be a color image
* (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in
* size.
*/
public Builder setBack(String back) {
this.back = back;
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.Company.Verification.Document#extraParams} for the
* 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.Company.Verification.Document#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 front of a document returned by a file upload with a {@code purpose}
* value of {@code additional_verification}. The uploaded file needs to be a color image
* (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in
* size.
*/
public Builder setFront(String front) {
this.front = front;
return this;
}
}
}
}
public enum Structure implements ApiRequestParams.EnumParam {
@SerializedName("free_zone_establishment")
FREE_ZONE_ESTABLISHMENT("free_zone_establishment"),
@SerializedName("free_zone_llc")
FREE_ZONE_LLC("free_zone_llc"),
@SerializedName("government_instrumentality")
GOVERNMENT_INSTRUMENTALITY("government_instrumentality"),
@SerializedName("governmental_unit")
GOVERNMENTAL_UNIT("governmental_unit"),
@SerializedName("incorporated_non_profit")
INCORPORATED_NON_PROFIT("incorporated_non_profit"),
@SerializedName("limited_liability_partnership")
LIMITED_LIABILITY_PARTNERSHIP("limited_liability_partnership"),
@SerializedName("llc")
LLC("llc"),
@SerializedName("multi_member_llc")
MULTI_MEMBER_LLC("multi_member_llc"),
@SerializedName("private_company")
PRIVATE_COMPANY("private_company"),
@SerializedName("private_corporation")
PRIVATE_CORPORATION("private_corporation"),
@SerializedName("private_partnership")
PRIVATE_PARTNERSHIP("private_partnership"),
@SerializedName("public_company")
PUBLIC_COMPANY("public_company"),
@SerializedName("public_corporation")
PUBLIC_CORPORATION("public_corporation"),
@SerializedName("public_partnership")
PUBLIC_PARTNERSHIP("public_partnership"),
@SerializedName("single_member_llc")
SINGLE_MEMBER_LLC("single_member_llc"),
@SerializedName("sole_establishment")
SOLE_ESTABLISHMENT("sole_establishment"),
@SerializedName("sole_proprietorship")
SOLE_PROPRIETORSHIP("sole_proprietorship"),
@SerializedName("tax_exempt_government_instrumentality")
TAX_EXEMPT_GOVERNMENT_INSTRUMENTALITY("tax_exempt_government_instrumentality"),
@SerializedName("unincorporated_association")
UNINCORPORATED_ASSOCIATION("unincorporated_association"),
@SerializedName("unincorporated_non_profit")
UNINCORPORATED_NON_PROFIT("unincorporated_non_profit");
@Getter(onMethod_ = {@Override})
private final String value;
Structure(String value) {
this.value = value;
}
}
}
@Getter
public static class Documents {
/**
* One or more documents that support the Bank account
* ownership verification requirement. Must be a document associated with the account’s
* primary active bank account that displays the last 4 digits of the account number, either a
* statement or a voided check.
*/
@SerializedName("bank_account_ownership_verification")
BankAccountOwnershipVerification bankAccountOwnershipVerification;
/** One or more documents that demonstrate proof of a company's license to operate. */
@SerializedName("company_license")
CompanyLicense companyLicense;
/** One or more documents showing the company's Memorandum of Association. */
@SerializedName("company_memorandum_of_association")
CompanyMemorandumOfAssociation companyMemorandumOfAssociation;
/**
* (Certain countries only) One or more documents showing the ministerial decree legalizing the
* company's establishment.
*/
@SerializedName("company_ministerial_decree")
CompanyMinisterialDecree companyMinisterialDecree;
/**
* One or more documents that demonstrate proof of a company's registration with the appropriate
* local authorities.
*/
@SerializedName("company_registration_verification")
CompanyRegistrationVerification companyRegistrationVerification;
/** One or more documents that demonstrate proof of a company's tax ID. */
@SerializedName("company_tax_id_verification")
CompanyTaxIdVerification companyTaxIdVerification;
/**
* Map of extra parameters for custom features not available in this client library. The content
* in this map is not serialized under this field's {@code @SerializedName} value. Instead, each
* key/value pair is serialized as if the key is a root-level field (serialized) name in this
* param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more documents showing the company’s proof of registration with the national business
* registry.
*/
@SerializedName("proof_of_registration")
ProofOfRegistration proofOfRegistration;
private Documents(
BankAccountOwnershipVerification bankAccountOwnershipVerification,
CompanyLicense companyLicense,
CompanyMemorandumOfAssociation companyMemorandumOfAssociation,
CompanyMinisterialDecree companyMinisterialDecree,
CompanyRegistrationVerification companyRegistrationVerification,
CompanyTaxIdVerification companyTaxIdVerification,
Map extraParams,
ProofOfRegistration proofOfRegistration) {
this.bankAccountOwnershipVerification = bankAccountOwnershipVerification;
this.companyLicense = companyLicense;
this.companyMemorandumOfAssociation = companyMemorandumOfAssociation;
this.companyMinisterialDecree = companyMinisterialDecree;
this.companyRegistrationVerification = companyRegistrationVerification;
this.companyTaxIdVerification = companyTaxIdVerification;
this.extraParams = extraParams;
this.proofOfRegistration = proofOfRegistration;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private BankAccountOwnershipVerification bankAccountOwnershipVerification;
private CompanyLicense companyLicense;
private CompanyMemorandumOfAssociation companyMemorandumOfAssociation;
private CompanyMinisterialDecree companyMinisterialDecree;
private CompanyRegistrationVerification companyRegistrationVerification;
private CompanyTaxIdVerification companyTaxIdVerification;
private Map extraParams;
private ProofOfRegistration proofOfRegistration;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents build() {
return new AccountCreateParams.Documents(
this.bankAccountOwnershipVerification,
this.companyLicense,
this.companyMemorandumOfAssociation,
this.companyMinisterialDecree,
this.companyRegistrationVerification,
this.companyTaxIdVerification,
this.extraParams,
this.proofOfRegistration);
}
/**
* One or more documents that support the Bank
* account ownership verification requirement. Must be a document associated with the
* account’s primary active bank account that displays the last 4 digits of the account
* number, either a statement or a voided check.
*/
public Builder setBankAccountOwnershipVerification(
AccountCreateParams.Documents.BankAccountOwnershipVerification
bankAccountOwnershipVerification) {
this.bankAccountOwnershipVerification = bankAccountOwnershipVerification;
return this;
}
/** One or more documents that demonstrate proof of a company's license to operate. */
public Builder setCompanyLicense(
AccountCreateParams.Documents.CompanyLicense companyLicense) {
this.companyLicense = companyLicense;
return this;
}
/** One or more documents showing the company's Memorandum of Association. */
public Builder setCompanyMemorandumOfAssociation(
AccountCreateParams.Documents.CompanyMemorandumOfAssociation
companyMemorandumOfAssociation) {
this.companyMemorandumOfAssociation = companyMemorandumOfAssociation;
return this;
}
/**
* (Certain countries only) One or more documents showing the ministerial decree legalizing
* the company's establishment.
*/
public Builder setCompanyMinisterialDecree(
AccountCreateParams.Documents.CompanyMinisterialDecree companyMinisterialDecree) {
this.companyMinisterialDecree = companyMinisterialDecree;
return this;
}
/**
* One or more documents that demonstrate proof of a company's registration with the
* appropriate local authorities.
*/
public Builder setCompanyRegistrationVerification(
AccountCreateParams.Documents.CompanyRegistrationVerification
companyRegistrationVerification) {
this.companyRegistrationVerification = companyRegistrationVerification;
return this;
}
/** One or more documents that demonstrate proof of a company's tax ID. */
public Builder setCompanyTaxIdVerification(
AccountCreateParams.Documents.CompanyTaxIdVerification companyTaxIdVerification) {
this.companyTaxIdVerification = companyTaxIdVerification;
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.Documents#extraParams} for the 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.Documents#extraParams} for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* One or more documents showing the company’s proof of registration with the national
* business registry.
*/
public Builder setProofOfRegistration(
AccountCreateParams.Documents.ProofOfRegistration proofOfRegistration) {
this.proofOfRegistration = proofOfRegistration;
return this;
}
}
@Getter
public static class BankAccountOwnershipVerification {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more document ids returned by a file upload with a {@code purpose} value
* of {@code account_requirement}.
*/
@SerializedName("files")
List files;
private BankAccountOwnershipVerification(
Map extraParams, List files) {
this.extraParams = extraParams;
this.files = files;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private List files;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents.BankAccountOwnershipVerification build() {
return new AccountCreateParams.Documents.BankAccountOwnershipVerification(
this.extraParams, this.files);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link
* AccountCreateParams.Documents.BankAccountOwnershipVerification#extraParams} for the 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.Documents.BankAccountOwnershipVerification#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Add an element to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.BankAccountOwnershipVerification#files} for the field
* documentation.
*/
public Builder addFile(String element) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.add(element);
return this;
}
/**
* Add all elements to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.BankAccountOwnershipVerification#files} for the field
* documentation.
*/
public Builder addAllFile(List elements) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.addAll(elements);
return this;
}
}
}
@Getter
public static class CompanyLicense {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more document ids returned by a file upload with a {@code purpose} value
* of {@code account_requirement}.
*/
@SerializedName("files")
List files;
private CompanyLicense(Map extraParams, List files) {
this.extraParams = extraParams;
this.files = files;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private List files;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents.CompanyLicense build() {
return new AccountCreateParams.Documents.CompanyLicense(this.extraParams, this.files);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.Documents.CompanyLicense#extraParams} for the 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.Documents.CompanyLicense#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Add an element to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyLicense#files} for the field documentation.
*/
public Builder addFile(String element) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.add(element);
return this;
}
/**
* Add all elements to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyLicense#files} for the field documentation.
*/
public Builder addAllFile(List elements) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.addAll(elements);
return this;
}
}
}
@Getter
public static class CompanyMemorandumOfAssociation {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more document ids returned by a file upload with a {@code purpose} value
* of {@code account_requirement}.
*/
@SerializedName("files")
List files;
private CompanyMemorandumOfAssociation(Map extraParams, List files) {
this.extraParams = extraParams;
this.files = files;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private List files;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents.CompanyMemorandumOfAssociation build() {
return new AccountCreateParams.Documents.CompanyMemorandumOfAssociation(
this.extraParams, this.files);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.Documents.CompanyMemorandumOfAssociation#extraParams}
* for the 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.Documents.CompanyMemorandumOfAssociation#extraParams}
* for the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Add an element to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyMemorandumOfAssociation#files} for the field
* documentation.
*/
public Builder addFile(String element) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.add(element);
return this;
}
/**
* Add all elements to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyMemorandumOfAssociation#files} for the field
* documentation.
*/
public Builder addAllFile(List elements) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.addAll(elements);
return this;
}
}
}
@Getter
public static class CompanyMinisterialDecree {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more document ids returned by a file upload with a {@code purpose} value
* of {@code account_requirement}.
*/
@SerializedName("files")
List files;
private CompanyMinisterialDecree(Map extraParams, List files) {
this.extraParams = extraParams;
this.files = files;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private List files;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents.CompanyMinisterialDecree build() {
return new AccountCreateParams.Documents.CompanyMinisterialDecree(
this.extraParams, this.files);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.Documents.CompanyMinisterialDecree#extraParams} for
* the 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.Documents.CompanyMinisterialDecree#extraParams} for
* the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Add an element to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyMinisterialDecree#files} for the field
* documentation.
*/
public Builder addFile(String element) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.add(element);
return this;
}
/**
* Add all elements to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyMinisterialDecree#files} for the field
* documentation.
*/
public Builder addAllFile(List elements) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.addAll(elements);
return this;
}
}
}
@Getter
public static class CompanyRegistrationVerification {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more document ids returned by a file upload with a {@code purpose} value
* of {@code account_requirement}.
*/
@SerializedName("files")
List files;
private CompanyRegistrationVerification(Map extraParams, List files) {
this.extraParams = extraParams;
this.files = files;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private List files;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents.CompanyRegistrationVerification build() {
return new AccountCreateParams.Documents.CompanyRegistrationVerification(
this.extraParams, this.files);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link
* AccountCreateParams.Documents.CompanyRegistrationVerification#extraParams} for the 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.Documents.CompanyRegistrationVerification#extraParams} for the field
* documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Add an element to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyRegistrationVerification#files} for the field
* documentation.
*/
public Builder addFile(String element) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.add(element);
return this;
}
/**
* Add all elements to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyRegistrationVerification#files} for the field
* documentation.
*/
public Builder addAllFile(List elements) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.addAll(elements);
return this;
}
}
}
@Getter
public static class CompanyTaxIdVerification {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map extraParams;
/**
* One or more document ids returned by a file upload with a {@code purpose} value
* of {@code account_requirement}.
*/
@SerializedName("files")
List files;
private CompanyTaxIdVerification(Map extraParams, List files) {
this.extraParams = extraParams;
this.files = files;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Map extraParams;
private List files;
/** Finalize and obtain parameter instance from this builder. */
public AccountCreateParams.Documents.CompanyTaxIdVerification build() {
return new AccountCreateParams.Documents.CompanyTaxIdVerification(
this.extraParams, this.files);
}
/**
* Add a key/value pair to `extraParams` map. A map is initialized for the first
* `put/putAll` call, and subsequent calls add additional key/value pairs to the original
* map. See {@link AccountCreateParams.Documents.CompanyTaxIdVerification#extraParams} for
* the 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.Documents.CompanyTaxIdVerification#extraParams} for
* the field documentation.
*/
public Builder putAllExtraParam(Map map) {
if (this.extraParams == null) {
this.extraParams = new HashMap<>();
}
this.extraParams.putAll(map);
return this;
}
/**
* Add an element to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyTaxIdVerification#files} for the field
* documentation.
*/
public Builder addFile(String element) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.add(element);
return this;
}
/**
* Add all elements to `files` list. A list is initialized for the first `add/addAll` call,
* and subsequent calls adds additional elements to the original list. See {@link
* AccountCreateParams.Documents.CompanyTaxIdVerification#files} for the field
* documentation.
*/
public Builder addAllFile(List elements) {
if (this.files == null) {
this.files = new ArrayList<>();
}
this.files.addAll(elements);
return this;
}
}
}
@Getter
public static class ProofOfRegistration {
/**
* Map of extra parameters for custom features not available in this client library. The
* content in this map is not serialized under this field's {@code @SerializedName} value.
* Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
* name in this param object. Effectively, this map is flattened to its parent instance.
*/
@SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
Map